* @Filename: ex801.c @Author: Ju Chengdong @Version: 1.0 @Date: 2021-03-18 @Description: File Character Reading and Writing */ #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc,char *argv[]){ /*(1)声明函数及变量*/ int writeToFile(char *str, char *fileName, char *mode); char str[100]; char fileName[] = "ex801.txt"; /*(2)获取键盘输入字串*/ fgets(str, 100, stdin); //gets(str); //将回车看作字串输入结束标志,字串中可以有空格 //scanf("%s", str); //将空格看作字串输入结束标志,字串中不能有空格 /*(3)将字串写入文件*/ int charNum = writeToFile(str, fileName, "w"); if(charNum < 0){ //printf("write error");//用于调试 return -1; } return 0; } /* * 函数名称:writeToFile * 函数功能:将字串写入文件 * 形式参数:char *str,一维字符数组(字符串)首地址 * 形式参数:char *fileName,待写入的文件路径及名称 * 形式参数:char *mode,文件使用方式 * 返 回 值:int型,若文件打开异常,返回 -1;否则返回写入到文件的字符数 */ int writeToFile(char *str, char *fileName, char *mode){ // 请用C++编程实现本函数 }
时间: 2023-11-22 20:55:24 浏览: 154
这段代码是一个 C 语言程序,用于将从键盘输入的字符串写入到指定文件中。下面是 C++ 语言实现的 `writeToFile` 函数:
```cpp
#include <iostream>
#include <fstream>
using namespace std;
int writeToFile(char *str, char *fileName, char *mode){
ofstream outfile(fileName, mode); // 打开文件
if(!outfile){ // 文件打开异常
return -1;
}
outfile << str; // 写入文件
outfile.close(); // 关闭文件
return strlen(str); // 返回写入的字符数
}
```
在 C++ 中,可以使用 `ofstream` 类型的对象来进行文件操作。`ofstream` 是一个输出文件流类,用于打开、写入和关闭文件。这里使用 `ofstream` 类型的对象 `outfile` 打开指定的文件,打开方式由 `mode` 参数指定。如果打开文件失败,则返回 -1;否则将字符串写入到文件中,并返回写入的字符数。最后,还需要调用 `outfile.close()` 来关闭文件。
相关问题
* @Filename: ex801.c @Author: Ju Chengdong @Version: 1.0 @Date: 2021-03-18 @Description: File Character Reading and Writing */ #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc,char *argv[]){ /*(1)声明函数及变量*/ int writeToFile(char *str, char *fileName, char *mode); char str[100]; char fileName[] = "ex801.txt"; /*(2)获取键盘输入字串*/ fgets(str, 100, stdin); //gets(str); //将回车看作字串输入结束标志,字串中可以有空格 //scanf("%s", str); //将空格看作字串输入结束标志,字串中不能有空格 /*(3)将字串写入文件*/ int charNum = writeToFile(str, fileName, "w"); if(charNum < 0){ //printf("write error");//用于调试 return -1; } return 0; } /* * 函数名称:writeToFile * 函数功能:将字串写入文件 * 形式参数:char *str,一维字符数组(字符串)首地址 * 形式参数:char *fileName,待写入的文件路径及名称 * 形式参数:char *mode,文件使用方式 * 返 回 值:int型,若文件打开异常,返回 -1;否则返回写入到文件的字符数 */ int writeToFile(char *str, char *fileName, char *mode){ // 请编程实现本函数 }
这是一个C语言程序,用于将用户从键盘输入的字符串写入到文件中。程序分为主函数main和写入文件函数writeToFile两部分。
主函数中声明了需要用到的函数和变量,获取键盘输入的字符串,调用写入文件函数writeToFile将字符串写入到文件中。
写入文件函数writeToFile的作用是将字符串写入到指定文件中,并返回写入到文件的字符数。该函数需要三个参数:字符串指针、文件名和文件使用方式。函数中使用fopen打开指定文件,使用fwrite将字符串写入到文件中,最后使用fclose关闭文件。
下面是完整的程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int writeToFile(char *str, char *fileName, char *mode);
int main(int argc,char *argv[]){
int writeToFile(char *str, char *fileName, char *mode);
char str[100];
char fileName[] = "ex801.txt";
fgets(str, 100, stdin);
int charNum = writeToFile(str, fileName, "w");
if(charNum < 0){
printf("write error");
return -1;
}
return 0;
}
int writeToFile(char *str, char *fileName, char *mode){
FILE *fp;
int charNum;
fp = fopen(fileName, mode);
if(fp == NULL){
return -1;
}
charNum = fwrite(str, sizeof(char), strlen(str), fp);
fclose(fp);
return charNum;
}
```
阅读全文