6.C++文件操作
写文件
写文件步骤如下:
- 包含头文件 #include
- 创建流对象
ofstream ofs; ofstream 写操作 ifstream 读操作 fstream 读写操作
- 打开文件
ofs.open("文件路径",打开方式)
- 写数据
ofs<<"写入的数据"
- 关闭文件
ofs.close()
打开方式:
- ios::in 为读文件而打开
- ios::out 为写文件而打开
- ios::ate 初始位置 文件尾
- ios::app 追加方式写文件
- ios::trunc 如果文件存在先删除再创建
- ios::binary 二进制方式
打开方式可以配合使用 要用|操作符 如 ios::binary | ios::out 用二进制方式写文件
#include <iostream>
#include <fstream>
using namespace std;
void test1(){
ofstream ofs;
ofs.open("文件操作产生的临时文件.txt",ios::out);
ofs<<"wdnmd"<<endl;
ofs<<"wdnmd"<<endl;
ofs<<"wdnmd"<<endl;
ofs.close();
}
int main(){
test1();
system("pause");
return 0;
}
读文件
读文件步骤如下:
- 包含头文件
#include <fstream>
- 创建流对象
ifstream ifs; ofstream 写操作 ifstream 读操作 fstream 读写操作
- 打开文件并判断文件是否打开成功
ifs.open("文件路径",打开方式)
- 读数据 四种方式读取
- 关闭文件
ifs.close()
打开方式:
- ios::in 为读文件而打开
- ios::out 为写文件而打开
- ios::ate 初始位置 文件尾
- ios::app 追加方式写文件
- ios::trunc 如果文件存在先删除再创建
- ios::binary 二进制方式
打开方式可以配合使用 要用|操作符 如 ios::binary | ios::out 用二进制方式写文件
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void test1(){
ifstream ifs;
ifs.open("文件操作产生的临时文件.txt",ios::in);
if(!ifs.is_open()){ //返回类型为bool 成功为真 失败为假
cout<<"文件打开失败"<<endl;
return;
}
// 第一种
// char buf[1024] = {0};
// while (ifs>>buf){ //读完会返回0
// cout<<buf<<endl;
// }
// 第二种
// char buf[1024] = {0};
// while (ifs.getline(buf,sizeof(buf))){
// cout<<buf<<endl;
// }
// 第三种
// string buf;
// while(getline(ifs,buf)){ //getline(输入流对象,sring变量)
// cout<<buf<<endl;
// }
// 第四种 (不太推荐用)
// char c;
// while((c=ifs.get())!=EOF) //EOF end of file
// {
// cout<<c;
// }
ifs.close();
}
int main(){
test1();
system("pause");
return 0;
}