
头文件
iostream 处理标准输入输出
fstream 处理文件的输入输出
sstrema 处理string的输入输出
cin它是以(tab 、space、enter)中的一种作为分隔符,如果开头的数据是分隔符,那么直接把分割符忽略并且清除,直至第一个字符不是分隔符时才开始输入。
getline()不会忽略开头的分隔符,getline遇到结束符时,会将结束符一并读入指定的string中,再将结束符替换为空字符。
IO对象无拷贝或赋值,因此通常用引用方式传递和返回流
流有一些状态位:
eofbit 流到达文件结束
goodbit 流未处于错误状态
badbit 流已经崩溃
failbit 一个IO *** 作失败了
rdstate()返回一个iostate值对应当前状态
clear ()置位所有状态位
刷新输出缓冲区 : endl 输出一个换行并刷新缓冲区 关联输入和输出流 当一个输入流被关联到一个输出流时,任何从输入流中读取数据的 *** 作都会先刷新缓冲流。 tie函数 文件流对象: 文件读写的过程: 第一步声明流对象 ->调用open(filename,打开方式)打开文件,判断文件是否正常打开 对象.is_open()或者直接对象名->进行读写->关闭文件 对文件进行定位: c++文件系统管理着两个与文件相关联的指针:读指针,写指针 (对文件的 *** 作大小都是以字节为单位) 欢迎分享,转载请注明来源:内存溢出
flush 刷新缓冲区
ends 输出一个空字符刷新缓冲区
unitbuf *** 作符 使每次输出 *** 作都刷新缓冲区 cout<
ios::cur:光标当前位置
seekg():(常用)输入文件指针跳转函数。表示将输入文件指针跳转到指定字节位置。seekp():输出文件指针跳转函数。表示将输出文件指针跳转到指定位置。
ios::in:以读方式打开 文件内容输入到内存
ios::out:写入方式打开 内存中的内容输出到文件
ios::trunc:(常用)覆盖原内容写入
ios::app:(常用)不覆盖,在结尾插入
ios::ate:打开文件后定位到文件尾部
ofstream默认打开方式:ios::out | ios::trunc 文件写 *** 作
ifstream默认打开方式: ios::in 文件读 *** 作
fstream默认打开方式: ios::in | ios::out
使用 *** 作符:“<<”往文本文件中写入数据,使用操作符:“>>”从文本文件中读取数据 fstream s; // 声明流对象
s.open("test.txt", ios::out);// 将流对象与文件关联
if(s.is_open()){// 判断文件是否正常打开
s << "test";// 对文件进行操作
}
else {
cerr << "文件打开失败" << endl;
}
s.close();// 关闭文件
seekg(offset,origin)设置读指针的位置
seekp(offset,origin)设置写指针的位置
offset表示偏移地址,origin表示基址(ios::beg,ios::cur,ios::end)
tellg() tellp()返回当前指针的值
对文件计算大小
s.seekg(0, ios::beg);// 文件读指针定位到开头
auto size_beg = s.tellg(); // 或者用streampos 获取指针的值
s.seekg(0, ios::end);// 文件读指针定位到结尾
auto size_end = s.tellg();//
cout << size_end - size_beg;
微信扫一扫
支付宝扫一扫
评论列表(0条)