我試圖將文件test1.mal
的內容複製到output.txt
中,程序說它正在這樣做並且編譯了所有內容,但是當我打開output.txt
文件時,它是空白...有人能告訴我我要去哪裏嗎?在C程序中複製文件,但文件爲空
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char content[255];
char newcontent[255];
FILE *fp1, *fp2;
fp1 = fopen("test1.mal", "r");
fp2 = fopen("output.txt", "w");
if(fp1 == NULL || fp2 == NULL)
{
printf("error reading file\n");
exit(0);
}
printf("files opened correctly\n");
while(fgets(content, sizeof (content), fp1) !=NULL)
{
fputs(content, stdout);
strcpy (content, newcontent);
}
printf("%s", newcontent);
printf("text received\n");
while(fgets(content, sizeof(content), fp1) !=NULL)
{
fprintf(fp2, "output.txt");
}
printf("file created and text copied\n");
//fclose(fp1);
//fclose(fp2);
//return 0;
}
'strcpy(content,newcontent);'?調試? 'newcontent'沒有初始化!也許你想'strcpy(newcontent,content);' – chux
那麼程序寫入output.txt的地方在哪裏呢?如果程序沒有寫入任何內容,則不會寫入任何內容。 – immibis