Linux下用C++流的方式读写文件

时间:2024-05-31 18:11:16

本文主要总结在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

Linux下用C++流的方式读写文件

 

Linux下用C++流的方式读写文件

 

结果如上图所示,文件编译后生成一个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

Linux下用C++流的方式读写文件

 

结果如上图所示,原来文本内容第一行是“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文本内容)

相关文章