fstream
2024-09-07 10:09:57
fstream file("b.txt", ios::in|ios::out|ios::app);
mode
- ate - seek to the end of stream immediately after open,你处于文件末尾,但你可以在文件的任何地方写数据。不会导致create属性
- app - seek to the end of stream before each write,附加到已有文件末尾, 可造成out属性
- in 表示只读属性
- out 表可写属性+create属性
- in+out 表只读+可写属性(没有create属性)
- trunc
- ios::nocreate——如果文件不存在,则打开操作失败。
- ios::nocreplace——如果文件已经存在,则打开操作失败。
class default mode to parameter
ofstream ios::out | ios::trunc
ifstream ios::in
fstream ios::in | ios::out
//fstream file("b1.txt", fstream::in|fstream::out); do NOT create if no exist
fstream file("b1.txt", fstream::out); // create
file<<"s";
cout<<"s";
file.close();
}
文件读写的步骤:
1、包含的头文件:#include
2、创建流
3、打开文件(文件和流关联)
4、读写 (写操作:<<,put( ), write( ) 读操作: >> , get( ),getline( ), read( ))
5、关闭文件:把缓冲区数据完整地写入文件, 添加文件结束标志, 切断流对象和外部文件的连接
https://blog.csdn.net/sheng_bw/article/details/85336298
if (OpenFile.fail())
{
cout<<"打开文件错误!"<<endl;
exit(0);
}
istream& read(char *buffer,int len);
ostream& write(const char * buffer,int len);
if (!in.is_open()){
std::cout<<"Error opening file"; exit(1);
}
while (!in.eof()){
in.getline(buffer,100);
std::cout<< buffer << std::endl;
}
说明:
1、程序不再使用文件时,为什么要关闭文件?
因为:1)文件缓冲区是一块小的内存空间.
2)操作系统限制同时打开的文件数量
注意:close ( ) 函数关闭文件,但流对象仍然存在。
2、文件的默认打开方式为文本文件,要是想以二进制的方式处理,在打开时要用 ios::binary 显式声明。
3、针对文本文件操作时,get函数和>>的区别:
区别:在读取数据时,get函数包括空白字符(遇空白字符不停止读取)
>>
在默认情况下拒绝接受空白字符(遇到空白符停止读取)
最新文章
- Spark 开发中遇到的一些问题
- 【阮一峰】深入研究URL编码问题及JavaScript相应的解决方案
- ibm v3700
- 构造 &; 析构 &; 匿名对象&zwj;
- 封装JavaScript的AJAX
- java---一元二次方程练习
- Hibernate中的多对多映射
- [转]MySQL导入和导出SQL脚本
- zedboard--Opencv移植和zedboard测试(十一)
- House Robber 分类: leetcode 算法 2015-07-09 20:53 2人阅读 评论(0) 收藏
- 天兔(Lepus)监控系统快速安装部署
- UI设计切忌墨守成规,但改变也须用数据说话
- C# 获取指定路径下的文件结构(树形结构)
- UE3多参数函数实现
- elasticsearch之入门hello(java)一
- 【Jmeter自学】Linux环境下Jmeter运行
- Web Api之Cors跨域以及其他跨域方式(三)
- bzoj1630 / bzoj2023 [Usaco2005 Nov]Ant Counting 数蚂蚁
- 剑指offer--30.二叉搜索树的后序遍历序列
- android开源项目之OTTO事件总线(一)