File io 将数据从一个文本文件保存和传输到另一个文本文件
在将数据从一个文本文件传输到另一个文本文件时遇到问题。我的想法是每个角色都转移它,但它似乎不起作用。我在开头添加了这些代码File io 将数据从一个文本文件保存和传输到另一个文本文件,file-io,char,fopen,fclose,fgetc,File Io,Char,Fopen,Fclose,Fgetc,在将数据从一个文本文件传输到另一个文本文件时遇到问题。我的想法是每个角色都转移它,但它似乎不起作用。我在开头添加了这些代码 FILE *addressPtr; FILE *ressPtr; 及 这组代码处于切换状态 fclose(addressPtr); addressPtr = fopen("temporary.txt","r"); while((filechar = fgetc(addressPtr)) != EOF){ fclose(addressPtr); res
FILE *addressPtr;
FILE *ressPtr;
及
这组代码处于切换状态
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!!");
我只是了解了这些文件操作,不知道出了什么问题
如果我打开我的地址簿.txt文件,它将只显示我的temporary.txt文件的第一个字符,但会连续显示(永无止境)。您需要以
二进制模式打开文件
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!!");
}
#包括
int main()
{
文件*地址PTR;
文件*ressPtr;
char filechar='\0';
addressPtr=fopen(“D:\\test\\source.jpg”、“rb”);
ressPtr=fopen(“D:\\test\\dest.jpg”、“wb”);
而(!feof(addressPtr))
{
filechar=fgetc(addressPtr);
fprintf(ressPtr,“%c”,filechar);
}
fclose(addressPtr);
fclose(ressPtr);
printf(“文件已成功保存!!”;
}
这实际上是将一个名为source.jpg
的文件复制到另一个名为dest.jpg
的文件中
希望您能找到答案。每次关闭并重新打开文件时,都会从头开始。您无需关闭一个文件即可写入另一个文件;只需将这两个文件保持打开状态,直到所有输入都用完,然后关闭它们。
#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!!");
}