* @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){ // 请编程实现本函数 }
时间: 2023-11-22 10:55:24 浏览: 44
本程序实现了将用户输入的字符串写入到指定文件中。下面是函数 `writeToFile()` 的实现:
```
int writeToFile(char *str, char *fileName, char *mode){
/* 打开文件 */
FILE *fp;
if ((fp = fopen(fileName, mode)) == NULL) {
printf("Failed to open file %s", fileName);
return -1;
}
/* 写入字符串 */
int charNum = fprintf(fp, "%s", str);
/* 关闭文件 */
fclose(fp);
return charNum;
}
```
函数中使用 `fopen()` 函数打开文件,并根据 `mode` 参数的值确定文件使用方式,若文件打开异常则返回 -1。然后使用 `fprintf()` 函数将字符串写入到文件中,并返回写入到文件的字符数。最后使用 `fclose()` 函数关闭文件。
阅读全文