cpp learning

c++ 的头文件 fstream 头文件实现了几个对文件读写操作的类,分别有

文件读写一般包括以下几个步骤

  1. 包含头文件 fstream

  2. 利用相应的类创建相应的流

  3. 打开文件(将流对接到文件)

  4. 读写

    写操作包括:<< put() write()

    读操作包括:>> get() getline() read()

  5. 关闭文件

    把缓冲区数据完整地写入文件, 添加文件结束标志, 切断流对象和外部文件的连接

1. 写操作

std::ofstream fout("thesaurus.md", std::ios::app);
if(fout.fail()){
	std::cout << "thesaurus.md no exist!" << std::endl;
	exit(1);
}
fout << "first time \n";   // 写入一行

std::cout << "write successfully.";
fout.close();

ofstream 构造函数的第二个参数表示写的方式,如果不写则默认以覆盖的方式进行写操作,如果文件不存在则帮你创建。

2. 读操作

std::ifstream fin("thesaurus.md");
std::string word;
char line[101];
if(fin.fail()){
    std::cout << "thesaurus.md no exist!" << std::endl;
    exit(1);
}
fin >> word;               // read a word
std::cout << word << std::endl;  
fin.getline(line, 100);    // read a line until length 100
std::cout << line << std::endl;  
fin.close();

文本模式的读操作有两种方式

3. 文件结束标志

if(!OpenFile.eof()) do something;

文件结束标志是 EOF ,也就是 0 。可以用上面的语句判断是否结束并做相应处理。

4. 其他

读写还有按字节的,这个比较少用到。分别是 put 和 get 函数。