版权声明:博客注明来源即可。 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 – 指向文件尾