C++如何向txt文件写入内容而不会使原内容覆盖掉?

2024-10-30 18:12:23
推荐回答(3个)
回答(1):

FILE *f=fopen(m_fileName,"a+");
第二个参数有多种设置方式,你可以去查阅一下fopen的百科...
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留) a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留) wb 只写打开或新建一个二进制文件;只允许写数据。 wb+ 读写打开或建立一个二进制文件,允许读和写。 wt+ 读写打开或着建立一个文本文件;允许读写。 at+ 读写打开一个文本文件,允许读或在文本末追加数据。 ab+ 读写打开一个二进制文件,允许读或在文件末追加数据

回答(2):

创建文件输出流对象的时候添加std::ios::ate标志,输出的时候所有的数据都添加到文件的末尾。

std::ofstream out( "test.txt", std::ios::ate | std::ios::out );

回答(3):

FILE *fp;
fp=open("filename","a")这是追加的方式写的。