首页 新闻 会员 周边

C语言关于文件操作的问题,怎么将数据写到文件中呢?求解如下代码

0
[已解决问题] 解决于 2021-12-25 09:26

从键盘输入一个字符串(长度小于100)将其中所有小写字母转换为大写字母后,输出到文件a1.txt中,再将文件中的内容读出,输出到屏幕上。
【输入样例】
Good Morning.
【 输出样例】
GOOD MORNING

#include <stdio.h>
#include <string.h>
void AfterTest(char x[100])
{
    //char x;
    FILE *fp;
    fp=fopen("a1.txt","r");
    while((x=fgetc(fp))!=EOF)
        printf("%c",x);
    fclose(fp);
}
int main()
{
    char c[100];
    int i,l;
    char *p=c;
	gets(c);
	for (p;*p;p++)
	{
		if ((*p>='a')&&(*p<='z'))
		{
			*p =*p-32;
		}
	}
    AfterTest(c);
    return 0;
 }
wedy1234的主页 wedy1234 | 初学一级 | 园豆:6
提问于:2021-12-23 18:52
< >
分享
最佳答案
1

使用fopen的w格式输出即可
FILE *out=fopen("a1.txt","w");
然后fprintf(out,...);来输出

奖励园豆:5
计算机知识杂谈 | 菜鸟二级 |园豆:470 | 2021-12-23 20:22

参考代码

#include<stdio.h>
#include<string.h>
void AfterTest(char x[100]){
    FILE *fp=fopen("a1.txt","r");
    while((x=fgetc(fp))!=EOF)printf("%c",x);
    fclose(fp);
}
int main(){
    char c[100];
    int i,l;
    char *p=c;
	gets(c);
	FILE *out=fopen("a1.txt","w");
	for(p;*p;p++){
		if((*p>='a') && (*p<='z')){
			*p =*p-32;	
		}
		fprintf(out,"%c",*p);
	}
	fclose(out);
    AfterTest(c);
    return 0;
 }
计算机知识杂谈 | 园豆:470 (菜鸟二级) | 2021-12-24 16:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册