在C++中,如何实现向同一文件中多次添加数据而不不覆盖之前的数据,给出详细解释,先谢谢。 5
不是一次性添加多个数据是在程序执行过程中,需要向文件中添加数据比如添加一次后,继续执行到某一处,又需要向文件中添加数据而且每次添加后都换行,不是直接添加在上一次数据的末尾...
不是一次性添加多个数据
是在程序执行过程中,需要向文件中添加数据
比如添加一次后,继续执行到某一处,又需要向文件中添加数据
而且每次添加后都换行,不是直接添加在上一次数据的末尾 展开
是在程序执行过程中,需要向文件中添加数据
比如添加一次后,继续执行到某一处,又需要向文件中添加数据
而且每次添加后都换行,不是直接添加在上一次数据的末尾 展开
展开全部
那要看你的文件是以什么形式存取的,如果是文本文件:打开文件后,将文件指针移动到要插入的地方,将此位置后的数据存入缓存,然后加入新数据,在加上原来的缓存数据,因为在普通文件的存储是磁盘上的连续空间。
如果是以记录链表的方式存储,就改变一下链接就行了,像关系数据库那样。
如果是以记录链表的方式存储,就改变一下链接就行了,像关系数据库那样。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实例:
CString a1="ok";
FILE *pFile=fopen("c:\\an.txt","a");
fwrite(a1,1,strlen(a1),pFile);
fclose(pFile);
关键在"a"这个模式下,写入之前自动把写入位置挪到最后一个字符后面
就不会之前的内容覆盖了
CString a1="ok";
FILE *pFile=fopen("c:\\an.txt","a");
fwrite(a1,1,strlen(a1),pFile);
fclose(pFile);
关键在"a"这个模式下,写入之前自动把写入位置挪到最后一个字符后面
就不会之前的内容覆盖了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用append的方式打开文件。比如:
fstream file;
file.open("test.txt", ios_base::out | ios_base::app);
FILE* file;
file = fopen("test.txt", "a");
或者通过seek来控制,比如:
CFile file;
file.Open("test.txt", CFile::modeWrite);
file.SeekToEnd();
fstream file;
file.open("test.txt", ios_base::out | ios_base::app);
FILE* file;
file = fopen("test.txt", "a");
或者通过seek来控制,比如:
CFile file;
file.Open("test.txt", CFile::modeWrite);
file.SeekToEnd();
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实程序执行到需要写文件的时候,需要先判断下是否存在此文件,存在则读一次文件,将文件读到串或流变量中,然后在读写此变量即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
FILE* f ;
f = fopen("D:\\GIRL.TXT","a+");//注意标志
fprintf(f, "[%s %s]%s\n",__DATE__ ,__TIME__,"Hello girl ! Let me play play!");
fclose(f);
return 100;
}
int main()
{
FILE* f ;
f = fopen("D:\\GIRL.TXT","a+");//注意标志
fprintf(f, "[%s %s]%s\n",__DATE__ ,__TIME__,"Hello girl ! Let me play play!");
fclose(f);
return 100;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |