C++ 写入读取文件

版权声明:博客注明来源即可。 https://blog.csdn.net/u014027680/article/details/83005009

来源:我的博客站 OceanicKang |《C++ 写入读取文件》

读取

  • ifstream in(char *filename, int open_mode)
#include <fstream>
#include <iostream>

using namespace std;

int main(void)
{
	ifstream in; // ifstream in("test.txt");
	in.open("test.txt");
	if (!in) {
		
		cerr << "打开文件失败!" << endl;
		return 0;
		
	}
	
	char x;
	while(in >> x) {
		
		cout << x;
		
	}
	
	cout << endl;
	
	in.close();
	
	return 0;
}

写入

#include <fstream>
#include <iostream>

int main(void)
{
	ofstream out;
	// ofstream out("test.txt", ios::app); 以追加形式
	out.open("test.txt");
	if (!out) {
		
		cerr << "打开文件失败!" << endl;
		return 0;
		
	}
	
	for(int i = 0; i < 10; i++) {
		
		out << i;
		
	}
	
	out << endl;
	
	out.close();
	
	return 0;
}

open_mode

  • ios::in – 打开一个可读取文件
  • ios::out – 打开一个可写入文件
  • ios::binary – 以二进制的形式打开一个文件
  • ios::app – 写入的所有数据将被追加到文件的末尾
  • ios::trunk – 删除文件原来已存在的内容
  • ios::nocreate – 如果要打开的文件并不存在,那么以此参数调用open函数将无法进行
  • ios::noreplece – 如果要打开的文件已存在,试图用open函数打开时将返回一个错误

【例子】

  • ofstream out(“test.txt”, ios::app); – 以追加形式打开文件
  • fstream fp(“test.txt”, ios::in | ios::out); – 以可读写形式打开文件

文件指针修改

  • fp.seekg(int mode);
    • ios::beg – 指向文件头
    • ios::end – 指向文件尾

猜你喜欢

转载自blog.csdn.net/u014027680/article/details/83005009