#include<stdio.h>
int main()
{
char ch;
FILE* pfr = fopen("C:\\Users\\ljh\\Desktop\\test1.txt", "r");//把路径改成你文件的路径
FILE* pfw = fopen("C:\\Users\\ljh\\Desktop\\test2.txt", "w");//把路径改成你文件的路径
if (NULL == pfw)
{
perror("open file test2.txt");
}
if (NULL == pfr)
{
perror("open file test1.txt");
}
//不断的从源文件中读取字符并写入目的文件中,直到遇到EOF结束这个过程
while ((ch=fgetc(pfr))!=EOF)//EOF是文件结束标志
{
fputc(ch,pfw);
}
//关闭流,使用完流后记得关闭,避免占用资源
fclose(pfr);
fclose(pfw);
pfr = NULL;
pfw = NULL;
return 0;
}
请问这个代码可以进行.dat文件之间复制信息吗?
如果不行的话,请问除了rename()这个函数有什么代码可以进行.dat文件之间的复制呀?
可以帮忙写一下吗?小学期快截止时间了,谢谢啦~
用fgetc也太啰嗦了,可以直接文件内容读取,再全部写入,另外二进制文件读写得用rb,wb
#include<stdio.h>
int main()
{
char ch;
FILE* pfr = fopen("C:\\Users\\ljh\\Desktop\\test1.dat", "rb");//把路径改成你文件的路径
FILE* pfw = fopen("C:\\Users\\ljh\\Desktop\\test2.dat", "wb");//把路径改成你文件的路径
if (NULL == pfw)
{
perror("open file test2.txt");
}
if (NULL == pfr)
{
perror("open file test1.dat");
}
//不断的从源文件中读取字符并写入目的文件中,直到遇到EOF结束这个过程
char* text;
fseek(pfr,0,SEEK_END);
long lSize = ftell(pfr);
// 用完后需要将内存free掉
text=(char*)malloc(lSize);
rewind(pfr);
fread(text,sizeof(char),lSize,pfr);
fwrite(text,sizeof(char),lSize,pfw);
//关闭流,使用完流后记得关闭,避免占用资源
free(text);
fclose(pfr);
fclose(pfw);
pfr = NULL;
pfw = NULL;
return 0;
}
可以啊,你自己测试下不就知道了
C语言实现的二进制文件复制
C语言实现的二进制文件复制_zgljl2012的专栏-CSDN博客 //复制文件 void CopyFile(char* s1,char* s2){ FILE * file1,*file2; //使用二进制模式打开文件 file1 = fopen(s1,"rb"); // rb 表示读 file2 = fopen(s2,"wb"); // wb 表示写 if(!file1) { printf("文件%s打开失败!",s1); retu https://blog.csdn.net/zgljl2012/article/details/43703241
C语言复制二进制文件_gaohuanjie的专栏-CSDN博客_c语言复制二进制文件 #include <stdio.h>#include<stdlib.h>#define APACITY 2048int main(){ FILE * input= fopen("D:\\movie.mkv","rb"); FILE * output= fopen("D:\\电影.mkv","wb"); if(input==NULL){ https://blog.csdn.net/gaohuanjie/article/details/84937696?utm_term=c%E8%AF%AD%E8%A8%80%E5%A6%82%E4%BD%95%E5%A4%8D%E5%88%B6%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-1-84937696&spm=3001.4430
如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮
简单点说
1 打开文件时打开模式加上b,就是"rb" "wb",以二进制方式打开
2 读文件时用fread函数
3 写文件时用fwrite函数
这样可以操作所有类型的文件