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函数包括空白字符(遇空白字符不停止读取)

>>在默认情况下拒绝接受空白字符(遇到空白符停止读取)

最新文章

  1. Spark 开发中遇到的一些问题
  2. 【阮一峰】深入研究URL编码问题及JavaScript相应的解决方案
  3. ibm v3700
  4. 构造 &amp; 析构 &amp; 匿名对象&zwj;
  5. 封装JavaScript的AJAX
  6. java---一元二次方程练习
  7. Hibernate中的多对多映射
  8. [转]MySQL导入和导出SQL脚本
  9. zedboard--Opencv移植和zedboard测试(十一)
  10. House Robber 分类: leetcode 算法 2015-07-09 20:53 2人阅读 评论(0) 收藏
  11. 天兔(Lepus)监控系统快速安装部署
  12. UI设计切忌墨守成规,但改变也须用数据说话
  13. C# 获取指定路径下的文件结构(树形结构)
  14. UE3多参数函数实现
  15. elasticsearch之入门hello(java)一
  16. 【Jmeter自学】Linux环境下Jmeter运行
  17. Web Api之Cors跨域以及其他跨域方式(三)
  18. bzoj1630 / bzoj2023 [Usaco2005 Nov]Ant Counting 数蚂蚁
  19. 剑指offer--30.二叉搜索树的后序遍历序列
  20. android开源项目之OTTO事件总线(一)

热门文章

  1. 基于@vue/cli 的构建项目(3.0)
  2. MySQL敏感数据加密及解密
  3. Go组件学习:如何读取ini配置文件
  4. Vue2.0 【第四季】第1节 实例入门-实例属性
  5. Axure 文本框去掉边框 富文本 粘贴文字图标
  6. Natas7 Writeup(任意文件读取漏洞)
  7. mysql数据库设计文档-导出字段设计
  8. SpringBoot源码分析(一)@SpringBootApplication解析
  9. Ansible权威指南-读书笔记
  10. div 3 frog jump