c语言有关文件操作的问题

要输入一个文件名,再要求输入两个字符.然后程序会生成一个文件,用第二个字符代替第一个字符.例:Enterfilename:test.txtEntercharacter:s... 要输入一个文件名,再要求输入两个字符.然后程序会生成一个文件, 用第二个字符代替第一个字符.
例:
Enter filename: test.txt
Enter character: s
Enter replacement character: z
Output:
Thiz iz a tezt file.

main()
{
char c;
FILE *fp;
char filename[100],a[100],b[100];

fprintf(fp,"enter filename:");
fgets(filename,100,fp);
fprintf(fp,"enter character:");
fgets(a,100,fp);
fprintf(fp,"Enter replacement character:");
fgets(b,100,fp);
fp=fopen (filename,"w");
c=fgetc(fp);
if (fp!=NULL)
while(c!=EOF)
{if (strcmp(c,a)==0 )
fprintf(fp,"%c",b);
else

fprintf(fp,"%c",c);
}
c=fgetc(fp);

fclose(fp);

}

怎么不对?
展开
 我来答
百度网友6fe74e2
2013-04-11 · TA获得超过6596个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:487万
展开全部
#incude "stdio.h"
int main()
{
char c,p,q;
FILE *fp;
char filename[100],a[100],b[100];

printf("Enter filename:");//fprintf(fp,"enter filename:");
gets(filename);//fgets(filename,100,fp);
printf("Enter character:");//fprintf(fp,"enter character:");
scanf("%c",&c);// fgets(a,100,fp);
printf("Enter replacement character:");//fprintf(fp,"Enter replacement character:");
scanf("%c",&p);//fgets(b,100,fp);
fp=fopen(filename,"r");//fp=fopen (filename,"w");
while((q=fgetc(fp))!=EOF)
{
if(q==c)
q=p;
printf("%c",q);

}
//c=fgetc(fp);
//if (fp!=NULL)
//while(c!=EOF)
//{if (strcmp(c,a)==0 )
//fprintf(fp,"%c",b);
//else

//fprintf(fp,"%c",c);
//}
//c=fgetc(fp);

fclose(fp);

}
更多追问追答
追问
Enter filename: test.txt
Enter character: s
Enter replacement character: z
Output:
Thiz iz a tezt file.

这一堆是要生成在文件里的。该怎么办?
追答
写到文件中去就行了
但关键你到底是想做什么,
捡到的幸福
2013-04-11 · TA获得超过1282个赞
知道小有建树答主
回答量:568
采纳率:0%
帮助的人:384万
展开全部
1、文件指针fp 需要打开之后才能使用使用fprintf、fget等函数。
2、你在屏幕输出不是使用fprintf,使用printf就行了,键盘输入不是使用fgets,你使用scanf吧。
追问
我没有表达清楚,是要在生成的文件里输出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
veket的小号
2013-04-11 · TA获得超过3373个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:4285万
展开全部
文件都没有打开 你 fprintf 到哪里去呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式