从键盘输入一串字符,写进文件a.txt中,将其中小写字母转化为大写字母,然后输出到文件b.txt中保存,输入字符串以!结尾
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char str[100];
FILE *fp;
int i=0;
fp=fopen("a.txt","w");
if(fp==NULL)
{
printf("error!");
exit(0);/*#include<stdlib.h>*/
}
gets(str);
while(str[i]!='!')
{
if(str[i]>='a'&&str[i]<='z')
str[i]-=32;
i++;
fputs(str,fp);
}
fclose(fp);
fp=fopen("b.txt","w");
fgets(str,strlen(str)+1,fp);
fclose(fp);
return 0;
}
b文件要重新定义一个FILE *fp;对象。
0基础学C语言(贪吃蛇游戏项目实训):https://edu.csdn.net/course/detail/2766
你在哪里写入了b.txt?我怎么没有看到fputs(str,fileB)?
你在23行已经关闭了a文件指针,24打开一个空的只读文件,25行从空的文件指针里面读取n+1个字符到str?你想要表达什么意思?
int main()
{
char str[100];
FILE *fp;
int i = 0;
fp = fopen("a.txt", "w");
if (fp == NULL)
{
printf("error!");
exit(0);/*#include<stdlib.h>*/
}
gets(str);
fputs(str, fp);//所有文件写入a.txt
FILE *ffp = fopen("b.txt", "w");
//改大小写
while (str[i] != '!')
{
if (str[i] >= 'a'&&str[i] <= 'z')
str[i] -= 32;
i++;
}
fputs(str, ffp);//所有文件写入a.txt
fclose(fp);
fclose(ffp);
return 0;
}
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y