C++
头文件描述:
数据类型 描述
ofstream 该数据类型表示输出文件流,用于创建文件并向文件写入信息。
ifstream 该数据类型表示输入文件流,用于从文件读取信息。
fstream 该数据类型通常表示文件流,且同时具有 ofstream 和 ifstream 两种功能,这意味着它可以创建文件,向文件写入信息,从文件读取信息。
写文件
写文件步骤
- 包含头文件 #include
- 创建流对象 ofstream ofs;
- 打开文件 ofs.open(“文件路径”,打开方式);
- 写数据 ofs<<“写入的数据”;
- 关闭文件 ofs.close();
在这里,open() 成员函数的第一参数指定要打开的文件的名称和位置,第二个参数定义文件被打开的模式。
模式标志 描述
ios::app 追加模式。所有写入都追加到文件末尾。
ios::ate 文件打开后定位到文件末尾。
ios::in 打开文件用于读取。
ios::out 打开文件用于写入。
ios::trunc 如果该文件已经存在,其内容将在打开文件之前被截断,即把文件长度设为 0。
注意:
文件打开方式可以配合使用,利用 | 运算符
例如:
用二进制方式写文件 ios::binary | ios::out
关闭文件
void close();
读文件
读文件步骤如下:
- 包含头文件 #include
- 创建流对象 ifstream ifs;
- 打开文件并判断文件是否打开成功 ifs.open(“文件路径”,打开方式);
- 读数据 四种方式
- 关闭文件 ifs.close();
//第一种
char buf[1024] = {0};
while(ifs >> buf)
{
cout<< buf <<endl;
}
//第二种
char buf[1024] = {0};
while(ifs.getline(buf,sizeof(buf))
{
cout<< buf <<endl;
}
//第三种
string buf;
while(getline(ifs,buf))
{
cout<< buf <<endl;
}
//第四种
char c;
while((c = ifs.get()) != EOF)
{
cout<<c;
}
总结:
- 读文件用ifstream,或者fstream类
- 利用is_open函数可以判断文件是否打开成功
- close关闭文件
- 二进制要 | 上一个ios::binary