c++文件流fstream中的函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++文件流fstream中的函数相关的知识,希望对你有一定的参考价值。

我想用文件流打开一个记事本文件,然后再原本信息后面添加一些文字,但不覆盖原来的内容;
例如,现有一个 my.txt文件其中内容为:“abcd”;然后我要用c++程序打开,在“abcd”后面添加“efg”。
请高手给个代码,便于我研究,谢谢!

#include <fstream>
using namespace std;
int main()

ofstream outf;
outf.open(__FILE__, ios::out | ios::app);//以追加方式打开文件__FILE__
outf<<"//test";//文件尾部输出
outf.close();
return 0;

楼主参考
参考技术A //我没有用文件流,但实现了你要求的功能。
#include <stdio.h>
void main(void)
FILE *fp;
fp=fopen("c:\\my.txt","a");
char s[]="efg";
int i;
for(i=0;i<3;i++)
fputc(s[i],fp);
fclose(fp);
参考技术B // append.cpp -- appending information to a file
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib> // (or stdlib.h) for exit()

const char * file = "1.txt"; // 我要打开的当前文件夹中的文本
int main()

using namespace std;
char ch;

// show initial contents
ifstream fin;
fin.open(file);

if (fin.is_open())

cout << "Here are the current contents of the "
<< file << " file:\n";
while (fin.get(ch))
cout << ch;
fin.close();


// 以追加的方式添加新的内容
ofstream fout(file, ios::out | ios::app); // 以写入,只追加的方式
if (!fout.is_open())

cerr << "Can't open " << file << " file for output.\n";
exit(EXIT_FAILURE);


cout << "Enter guest names (enter a blank line to quit):\n";
string name;
while (getline(cin,name) && name.size() > 0)

fout << name << endl;

fout.close();

// show revised file
fin.clear(); // not necessary for some compilers
fin.open(file);
if (fin.is_open())

cout << "Here are the new contents of the "
<< file << " file:\n";
while (fin.get(ch))
cout << ch;
fin.close();

cout << "Done.\n";
return 0;
参考技术C 我记得有个seek()函数的,具体的用法你查一下就知道了

以上是关于c++文件流fstream中的函数的主要内容,如果未能解决你的问题,请参考以下文章

C++(八):fstream读写操作

C++入门文件流(fstream)介绍和使用

#include<fstream>在C++中是啥作用?

关于C++里的fstream

c++使用文件流fstream换行符的保存,该如何解决

fstream 中判断是否成功打开文件