在Debian Linux中使用C的文件副本
file copy using c in debian linux
任何人都可以向我展示
我的代码错误。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
FILE *fp1,*fp2;
char ch,ch1;
fp1=fopen("ma.dat","r");
fp2=fopen("na.dat","w");
while(!feof(fp1))
{
ch=fgetc(fp1);
fprintf(fp2,"%c ",ch);
}
fclose(fp1);
fclose(fp2);
}
i'm试图从文件中读取并写入另一个文件。存在一些问题。
谢谢
更改您的时循环 -
while(1) // or TRUE or for(;;)
{
ch=fgetc(fp1);
// or if (fp1 == -1)
if (feof(fp1)) { // you're printing eof to fp2... not a good idea.
break;
}
fprintf(fp2, "%c", ch); // or fputc(ch, fp2); your string format included a space!
}
或较短(和惯用) -
while ((ch = fgetc(fp1)) != EOF)
fputc(ch. fp2);
或您可以使用特定于Linux的
fseek(fp1, 0L, SEEK_END);
long sz = ftell(fp1);
fseek(fp, 0L, SEEK_SET);
sendfile(fp2, fp1, 0, sz);
相关文章:
- .cpp和.h文件中的模板专用化声明
- 用于制作文件副本的代码
- 为什么主可执行文件和 dlopen 加载的共享库共享命名空间静态变量的一个副本?
- 使用std:ofstream时,将目录的副本检查到文件中
- C 模板功能,相同类型,多个实例:共享一个相同的代码副本?即使在不同的CPP/对象文件中
- 带有生产者/消费者文件副本的segfault
- 在Debian Linux中使用C的文件副本
- 如何制作初始文件的 10 个副本,如果第一个文件是 AS-1.txt第二个应该是 AS-2.txt依此类推
- C++文件二进制模式副本
- 具有标准C++的大型二进制文件副本
- C++/CX WinRT文件副本
- 每次需要其中一个类的实例时,是否具有一组类的额外副本或从文件中读取更多内存
- 将 QFile::copy 创建创建文件的副本或将内容从一个文件移动到另一个文件
- Visual Studio c ++将文件副本添加到解决方案中
- 使用ifstream将文件加载到字符串将加载另一个文件的不完整副本
- 如何复制文件,但触摸新副本上的时间戳
- 如何调用一个c++函数,而不包括头文件和副本
- 每个文件都有自己的静态变量副本吗?
- 如何使用c++创建文件的副本
- 将std::cout的副本重定向到文件