本文主要总结在Linux下用C++流的方式读写文件,主要用到类ofstream和类ifstream以及输出操作符(<<)和输入操作符(>>)。下面将分别通过两个读写文件示例说明C++流方式读写文件用法。
一、C++流方式写文件
1.1在Linux指定目录下新建一个文件名为test.cpp的空白文件,在其中添加如下代码:
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
//input data to file1.dat
char data[100];
ofstream outfile;
outfile.open("file1.dat");
cout << "please input char:"<<endl;
cin.getline(data,100);
outfile << data << endl;
cout << "please input second char:" << endl;
cin >> data;
cin.ignore();
outfile << data << endl;
outfile.close();
return 0;
}
1.2在终端输入如下命令,结果如图所示:
g++ -o test test.cpp
结果如上图所示,文件编译后生成一个file1.dat文件,并且用命令cat file1.dat显示文件内容,为我们输入的内容。
二、C++流的方式读文件内容
2.1在Linux指定目录下新建一个文件名为test.cpp的空白文件,在其中添加如下代码:
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
//read file1.dat data
char data[100];
ifstream infile;
infile.open("file1.dat");
infile >> data;
cout << "first read data from file1.dat == " << data << endl;
infile >> data;
cout << "second read data from file1.dat == " << data << endl;
infile.close();
return 0;
}
2.2在终端输入如下命令,结果如图所示:
g++ -o test test.cpp
结果如上图所示,原来文本内容第一行是“I am a first char!”,第二行内容是“This”,第一次读取出一个字符“I”,第二次读取出一个字符“am”。
如果想要读取整个文本内容,可以参考博主写的另一篇博客:https://blog.****.net/naibozhuan3744/article/details/78678571。
参考内容:
《Linux C与C++ 一线开发实践》 朱文伟,李建英著. -北京:清华大学出版社,2018 283-285页
https://blog.****.net/naibozhuan3744/article/details/78678571(C++读写整个txt文本内容)