
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);
}
怎么不对? 展开
例:
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);
}
怎么不对? 展开
3个回答
展开全部
#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);
}
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.
这一堆是要生成在文件里的。该怎么办?
追答
写到文件中去就行了
但关键你到底是想做什么,
展开全部
1、文件指针fp 需要打开之后才能使用使用fprintf、fget等函数。
2、你在屏幕输出不是使用fprintf,使用printf就行了,键盘输入不是使用fgets,你使用scanf吧。
2、你在屏幕输出不是使用fprintf,使用printf就行了,键盘输入不是使用fgets,你使用scanf吧。
追问
我没有表达清楚,是要在生成的文件里输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
文件都没有打开 你 fprintf 到哪里去呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询