【发布时间】:2012-12-28 21:43:14
【问题描述】:
这就是我迄今为止所做的。我希望程序从键盘读取数据将其写入一个名为 INPUT 的文件,再次从 INPUT 文件中读取相同的数据,然后复制到该文件 另一个文件并将其显示在屏幕上。 我不知道我哪里出错了。 请帮我。 提前致谢。
#include<stdio.h>
#include<file.h>
main()
{
FILE *f1,*f2;
char c;
printf(“data input\n\n”)
f1 = fopen(“INPUT”, “w”);
while((c = getchar())!=EOF)
putc(c,f1);
fclose(f1);
printf(“\ndata output\n\n”)
f1 = fopen(“INPUT”, “r”);
while((c = getchar())!=EOF)
putc(“%c”,c);
fclose(f1);
//copying f f1 data into f2
f1=fopen(file1,”r”)
if(f1=NULL)
{
printf(“no data”);
exit(0):
}
f2=fopen(file2,”w”);
if(f2=null)
{
printf(“cannot able to open”);
exit(0);
}
while((ch==getc(f1)!=EOF)
putc(ch,f2);
printf(“completed”);
fclose(f1);
fclose(f2);
}
【问题讨论】:
-
逐行浏览代码,注意写、读和打印的内容。
-
你没有指定你的问题,所以我认为这不会编译。
C语法区分大小写。您所要做的就是阅读编译器给出的错误并修复您的代码。 -
修复小写/大写不匹配后,您还应该在以下部分添加一些 cmets:1) 将键盘复制到 INPUT 和 2) 将 INPUT 复制到另一个文件并显示。它会帮助你按照@RaymondChen 的建议去做。
-
C 中的注释看起来像这样 /* 在这里注释 */ 我建议的应该放在他们自己的一行上
-
不要使用文字处理器来编辑 C 代码。您的“双引号”不同的是
“(U+201C) 和”(U+201D) 而不是预期的"(ASCII 34, U+0022)。此外,printf()不会打印换行符,除非您要求。大多数printf()调用应在格式字符串的末尾至少包含一个换行符\n。当报告有关打开文件的错误时,在错误报告中包含文件名是明智的(如果您知道是哪个文件导致了问题,则更容易找到问题)。