初学者的困惑

来源:百度知道 编辑:UC知道 时间:2024/05/21 13:16:30
我编了个程序,语法和结构都没错,但却不是我想要的结果,我刚入门,实在找不出原因,恳请路过的高手指点下,程下:

/*输出存在问题*/
#include<stdio.h>
#include<stdlib.h>
#define NUMBERS 1000/*为读取的文件保留足够的存储区*/

void code(char [NUMBERS]);

int main()
{
char store[NUMBERS];
FILE *inFile;
FILE *outFile;

inFile=fopen("1.c","r");/*1.c文件可以是任意的*/

if(inFile==NULL)
{
printf("\n打开文件失败.\n");
exit(1);
}

while(fgets(store,81,inFile)!=NULL)
printf("%s",store);/*成功的显示了1.c文件,这几条语句只是
为了验证读取没有出错*/

code(store);

outFile=fopen("code.c","w");

fprintf(outFile,"%s",store);/*问题应该在这儿,在这里把读取
的1.c文件写入到code.c,但它只
写入了一个'}',不是我所希望的
整个1.c文件*/

fclose(inFile);
fclose(outFile);

return 0;<

outFile=fopen("code.c","w");

while(fgets(store,81,inFile)!=NULL) //加一句这个 试试
fprintf(outFile,"%s",store);

这是哪跟哪??
你就是想copy,1.c的程序。是吗?

函数没用错。。
你要了解他们的用法、。

outFile=fopen("code.c","w");
while(fgets(store,81,inFile)!=NULL)
{
printf("%s",store);/*成功的显示了1.c文件,这几条语句只是 为了验证读取没有出错*/
fprintf(outFile,"%s",store);
}
/*问题应该在这儿,在这里把读取
的1.c文件写入到code.c,但它只
写入了一个'}',不是我所希望的
整个1.c文件*/

把这个地方改改。。。
调试通过,和你要的结果一样
问题所在:每次打开code.c文件时你又重新写入数据,所以最后都是在第1行写入,最好结果只看到了一个 }

友情提示:提问提错地方,这里是java专区、、