C++文件打开方式

190 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

打开方式解释
ios::in为读文件而打开文件
ios::out为写文件而打开文件
ios::ate初始位置:文件尾
ios::app追加方式写文件
ios::trunc如果文件存在先删除,再创建
ios::binary二进制方式

便于记忆: 以代码本身为主体, 向外输出out,即为写文件; 向内读入in,即为读文件。

//文本文件 读文件
#include<iostream>
#include<fstream>
#include<string>

using namespace std;


//文本文件 写文件
void writeFile() {
	//1、包含头文件fstream
	// 2、创建对象流
	ofstream ofs;
	 
	// 3、指定打开方式
	ofs.open("test.txt", ios::out);

	// 4、写文件
	ofs << "姓名:张三 " << endl;
	ofs << "性别:男" << endl;
	ofs << "年龄:18" << endl;

	// 5、关闭文件
	ofs.close();

}

//文本文件 读文件
void readFile() {
	//1、包含头文件fstream
	//2、创建对象流
	ifstream ifs;

	// 3、打开文件,并判断是否打开成功
	ifs.open("test.txt", ios::in);
	if (!ifs.is_open()) {
		cout << "文件打开失败" << endl;
		return;
	}

	//4、读文件
	//法一
	//char buf[1024] = {0};
	//while (ifs >> buf) { // 一次读一行
	//	cout << buf << endl;
	//}

	//法二
	/*char buf[1024] = { 0 };
	while (ifs.getline(buf,sizeof(buf)))
	{
		cout << buf << endl;
	}*/

	// 法三
	string buf;
	while (getline(ifs, buf)) {
		cout << buf << endl;
	}
	
	//// 法四 (较慢,不提倡)
	//char c;
	//while ((c = ifs.get()) != EOF) {  //EOF = End of File
	//	cout << c;
	//}
}

int main() {
	writeFile();

	readFile();
	return 0;
}