ofstream:输出文件流
ifstream:输入文件流
展示简单的文件读写操作:
#include<iostream>
#include<fstream>
void test()
{
//写文件:文件不存在,创建文件*******************************
//可以通过创建对象时直接传入参数,通过调用构造函数打开文件(文件默认在当前目录)
ofstream fout("test.txt");
//也可以通过调用成员函数open()打开文件
fout.open("test.txt");
//基本不会报错,因为要写入文件数据,如果没有该文件的话会自动创建
if (!fout.is_open())
cout << "file not open" << endl;
//写内容
//1. 文本形式
fout << "hello" << endl;
//可以不用手动关闭,因为fout是对象,最后会调用析构函数,析构函数会调用close
fout.close();
//读文件:文件不存在,打开失败 *******************************
ifstream fin("test.txt");
char arr[100];
//把读到的内容放到数组内
fin >> arr;
}
stringstream流
字符串流
#include<sstream>
void test()
{
int a = 10;
float f = 2.3;
//创建stringstream 对象
stringstream ss;
//创建一个字符串类型的对象
string str;
//将整数类型的a转为字符串类型输入到ss对象中
ss << a;
//将ss的内容输出到str里面
ss >> str;
//clear():下一次转换前,需要调用clear接口清空状态位,该接口不会清空stringstream对象中的内容
ss.clear();
ss << f;
ss >> str;
//str(重置内容):重置stringstream对象中的内容
ss.str(""); //将ss对象中的内容置空
ss << a;
//str():获取stringstream对象中的内容
str = ss.str();
}