从键盘输入一个长度不超过100个字符的字符串,然后做如下操作: (1)将字串中的小写字母转为大写,大写字母转为小写,而其它字符不作处理。 (2)将字串输出保存到一个名为“ex801.txt”的文本文件中。注:文本文件ex801.txt应与源码文件ex801.c保存在同一个文件夹中。 目前,已编写完成main函数,请编程实现writeToFile函数,具体功能和要求如下所示。 /* @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){ // 请编程实现本函数 } 其他说明:无 【源文件名】ex801.c 【输入形式】标准输入:从键盘任意输入不超过100个字符的字串 【输出形式】文件输出:将字串转换后输出到文件
时间: 2023-11-22 18:55:19 浏览: 142
Python中常用操作字符串的函数与方法总结
5星 · 资源好评率100%
以下是writeToFile函数的完整代码:
```
int writeToFile(char *str, char *fileName, char *mode){
int charNum = 0; //记录写入到文件的字符数
FILE *fp = fopen(fileName, mode); //打开文件,若文件不存在则创建新文件
if(fp == NULL){ //判断文件是否成功打开
printf("File open error!\n");
return -1;
}
int len = strlen(str);
for(int i = 0; i < len; i++){
if(str[i] >= 'a' && str[i] <= 'z'){ //小写字母转换为大写字母
fputc(str[i] - 32, fp); //写入到文件中
charNum++; //字符数加一
}
else if(str[i] >= 'A' && str[i] <= 'Z'){ //大写字母转换为小写字母
fputc(str[i] + 32, fp); //写入到文件中
charNum++; //字符数加一
}
else{ //其他字符不作处理,直接写入到文件中
fputc(str[i], fp); //写入到文件中
charNum++; //字符数加一
}
}
fclose(fp); //关闭文件
return charNum; //返回写入到文件的字符数
}
```
在main函数中,我们首先声明了writeToFile函数和需要使用的变量。然后,通过fgets函数从键盘输入字串。接着,调用writeToFile函数将字串写入到ex801.txt文件中,并将写入到文件的字符数赋值给charNum变量。最后,根据charNum的值判断writeToFile函数是否执行成功,并返回相应的值。
在writeToFile函数中,我们首先定义了一个charNum变量,用于记录写入到文件的字符数。然后,通过fopen函数打开文件,并判断文件是否成功打开。接着,遍历输入的字串,根据题目要求将小写字母转换为大写字母,大写字母转换为小写字母,其他字符不作处理,然后将处理后的字符写入到文件中,并将写入到文件的字符数加一。最后,关闭文件并返回写入到文件的字符数。
需要注意的是,在writeToFile函数中,我们使用了fputc函数将处理后的字符写入到文件中,而不是使用fprintf函数。这是因为fprintf函数在处理特殊字符时可能会产生问题,而fputc函数则不会。
阅读全文