将数据从一个文本文件传输到另一个文本文件时出现问题。我的想法是每个角色转移它,但它似乎不起作用。我在开头添加了这些代码
FILE *addressPtr;
FILE *ressPtr;
和
addressPtr = fopen("temporary.txt","w");
这些代码集处于切换状态
fclose(addressPtr);
addressPtr = fopen("temporary.txt","r");
while((filechar = fgetc(addressPtr)) != EOF){
fclose(addressPtr);
ressPtr = fopen("Address Book.txt","a");
fprintf(ressPtr,"%c",filechar);
fclose(ressPtr);
addressPtr = fopen("temporary.txt","r");
}
printf("The file has been successfully saved!!");
我刚刚了解了这些文件操作,并且真的不知道出了什么问题
如果我打开我的Address Book.txt文件,它将只显示我的temporary.txt的第一个字符,但是连续(永不结束)。
答案 0 :(得分:-1)
您需要以binary
模式打开文件。
addressPtr = fopen("temporary.txt","wb");
还使用"rb"
以二进制模式写入以打开文件。
我不确定你为什么在循环中使用fopen
。但是如果你想复制一个文件,那么这是我测试过的一些工作代码:
#include<stdio.h>
int main()
{
FILE *addressPtr;
FILE *ressPtr;
char filechar = '\0';
addressPtr = fopen("D:\\test\\source.jpg","rb");
ressPtr = fopen("D:\\test\\dest.jpg","wb");
while(!feof(addressPtr))
{
filechar = fgetc(addressPtr);
fprintf(ressPtr,"%c",filechar);
}
fclose(addressPtr);
fclose(ressPtr);
printf("The file has been successfully saved!!");
}
这实质上将名为source.jpg
的文件复制到另一个名为dest.jpg
的文件。
希望你得到答案。