C++读写文件
#### 一. fstream 读写文件
1.写文件
1.1步骤
1.包含头文件 #include
2.创建流对象 ostream ofs;
3.打开文件 ofs.open("文件路径", 打开方式);
4.写数据 ofs << "写入的数据"
5.关闭文件 ofs.close();
2.2文件打开方式
打开方式 | 解释 |
---|---|
ios::in | 以读的方式打开文件 |
ios::out | 以写的方式打开文件 |
ios::ate | 初始位置:文件尾 |
ios::app | 追加 |
ios::trunc | 如果文件存在先删除,在创建 |
ios::binary | 二进制方式 |
示例:
void writeFile()
{
ofstream ofs;
ofs.open("./ini/config.txt", ios::out);
// 判断文件是否打开成功
if (!ofs.is_open())
{
cout << "Open file fail!" << endl;
return;
}
ofs << "hello world";
ofs.close();
}
2.读文件
1.1步骤
1.包含头文件 #include
2.创建流对象 ifstream ifs;
3.打开文件并判断是否成功 ifs.open("路径", 打开方式);
ifs.is_open();
4.读数据 按需求读取
5.关闭文件 ifs.close();
示例:
void readFile()
{
ifstream ifs;
ifs.open("./ini/config.txt", ios::in);
if (!ifs.is_open())
{
cout << "Open file fail!" << endl;
return;
}
// 1.逐行读取全部
string buf;
while (getline(ifs, buf))
{
cout << buf << endl;
}
// 2.按字符串读取
string buf;
while (ifs >> buf)
{
cout << buf << endl;
}
ifs.close();
}
3.二进制的方式读写文件
函数原型: istream& read(char buffer, int len);*
istream& write(const char buffer, int len);*
打开方式要指定为:ios::binary
char buf;
while (ifs.read(&buf, sizeof(buf)))
{
cout << buf;
}
作者:王韩六六
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.