如何用vc在文件末尾写入数据?

2025-02-24 00:24:59
推荐回答(3个)
回答1:

// 打开文件
CFile mFile("文件路径加文件名",CFile::modeRead);
// 原始文件长度
int FileLength=mFile.GetLength();
// 要是已经大于或大于1000000MB,则不用改变了
if(FileLength>=1000000)
return;
// 创建指定长度数据,用于保存到文件中,10MB换成数字,自己换吧
char c=new char[1000000];
// 如果需要清零
memset(c,1000000);
// 将原来的数据读出来
mFile.Read(c,FileLength);
// 重新保存文件到10mb
mFile.Write(c,1000000);
// 关闭文件
mFile..Close();
就这样了,文件变成10MB了,原来的数据也不会丢失。

回答2:

fopen("1.txt","a+");
以append方式打开,C++里用
ofstream ofs("1.txt", ios::out|ios::app)

Windows API 用一个打开文件句柄后用 SetFilePointer(hFile, 0, 0, FILE_END)

PS:用fopen打开(不用append方式)也可以先用fseek(fp, 0, SEEK_END),C++同理

回答3:

用fseek和ftell可以取得文件长度
添加内容的就用楼上的好了

int lengthoffile;
fseek(fp,0,SEEK_SET);
fseek(fp,0,SEEK_END);
lengthoffile=ftell(fp);