/*ca76a_c++_流文件打开输入输出文件模式
利用文件流打开文件进行输入与输出时的选项
in、out、app(附加模式)、ate((end)文件打开后,定于文件结尾)、trunc(裁剪)、binary(二进制)、、、、、
文件模式组合
out
out|app
out|trunc
in
in|out
int|out|ate
int|out|trunc

welcome to discuss
txwtech@163.com
*/

  1. /*ca76a_c++_流文件打开输入输出文件模式
  2. 利用文件流打开文件进行输入与输出时的选项
  3. in、out、app(附加模式)、ate((end)文件打开后,定于文件结尾)、trunc(裁剪)、binary(二进制)、、、、、
  4. 文件模式组合
  5. out
  6. out|app
  7. out|trunc
  8. in
  9. in|out
  10. int|out|ate
  11. int|out|trunc
  12.  
  13. welcome to discuss
  14. txwtech@163.com
  15. */
  16. #include <iostream>
  17. #include <fstream>
  18. #include <string>
  19.  
  20. using namespace std;
  21.  
  22. int main()
  23. {
  24. //ifstream读取文件内容
  25. string s;
  26. ifstream ifs("file1.txt",ifstream::in);//不写就是默认的文件模式in打开
  27. //先判断,是否打开成功
  28. if (!ifs)
  29. {
  30. cerr << "打开文件错误." <<"文件:"<<__FILE__<<" "<<__DATE__<< endl;
  31. return -;
  32. }
  33. ifs >> s;
  34. cout << s << endl;
  35. ifs >> s;
  36. cout << s << endl;
  37. ifs.close();
  38. cout << s << endl;
  39.  
  40. //ofstream在没有找到文件时,先创建文件,在写入文件。
  41. ofstream ofs("file11.txt",ofstream::out);//不写就是默认的文件模式out方式创建文件
  42. ofs << "hello file2!" << endl;//写入内容
  43. ofs.close();
  44. //ofs5("file5.txt"),默认就是ofstream::out|ofstream::trunc
  45. ofstream ofs5("file5.txt",ofstream::out);//out是文件内容清空了
  46. ofs5 << "hello55,ok" << endl;//写入内容到文件
  47. ofs5.close();
  48. //向文件末追加信息
  49. ofstream ofs6("file11.txt", ofstream::out | ofstream::app);
  50. ofs6 << "ofs6 added" << endl;
  51. ofs6.close();
  52.  
  53. //fstream既可以输入可以输出
  54. fstream ofs7("file5.txt", fstream::in | fstream::out);//内容不会清空
  55. //fstream ofs8("file5.txt", fstream::in | fstream::out|fstream::trunc);//会清空内容
  56.  
  57. ofs7.close();
  58. //ofs8.close();
  59. //打开后,指针定位到文件末尾
  60. fstream ofs9("file5.txt", fstream::in | fstream::out | fstream::ate);
  61. ofs9 << "ofs9 added"; //写入到文件
  62. ofs9.close();
  63.  
  64. //fstream ofs10("file10.txt", fstream::in | fstream::out );
  65. //fstream,如果没有找到文件,不会自动创建文件。
  66. fstream ofs10("file10.txt", fstream::in | fstream::out | fstream::ate);
  67. if (!ofs10)
  68. {
  69. cerr << "打开文件10错误." << "文件:" << __FILE__ << " " << __DATE__ << endl;
  70. return -;
  71. }
  72. ofs10 << "ofs10 added"; //写入到文件
  73. ofs10.close();
  74. return ;
  75. }

ca76a_c++_流文件打开输入输出文件模式p773的更多相关文章

  1. VC++_错误 无法打开包括文件“glglut.h” No such file or directory 怎么办

    在网上看到类似的问题,查找资料找到了解决方案,现整理如下,有些更改,好让自己多些印象,附原文网址:http://blog.csdn.net/bigloomy/article/details/62265 ...

  2. 【转】python qt(pyqt)的文件打开、文件保存、文件夹选择对话框

    import PyQt4.QtCore,PyQt4.QtGui # 获取文件路径对话框 file_name = QFileDialog.getOpenFileName(self,"open ...

  3. java io流(字符流) 文件打开、读取文件、关闭文件

    java io流(字符流) 文件打开 读取文件 关闭文件 //打开文件 //读取文件内容 //关闭文件 import java.io.*; public class Index{ public sta ...

  4. 第9.2节 Python的文件打开函数open详解

    一. 引言 在操作一个文件前,大部分情况需要先打开文件,才能进行,在Python中使用内置函数open来打开一个文件.open函数是Python的一个内置函数,io模块 定义的函数open是该内置函数 ...

  5. PHP文件操作 之打开远程文件

    //配置php.ini 开启allow_url_fopen选项 //访问的文件有可读或者可写的权限 //$f = fopen('http://www.example.com/a.txt','rb'); ...

  6. C++学习笔记55:流类库与输入输出

    I/O流的概念及流类库的结构 程序与外界环境的信息交换 当程序与外界环境进行信息交换时,存在着两个对象:程序中的对象,文件对象. 流是一种抽象,负责在数据的生产者和数据的消费者之间建立联系,并管理数据 ...

  7. C++:流类库与输入输出

    7.2.1 C++的输入输出流 ios:流基类(抽象类) istream:通用输入流类和其他输入流的基类 ostream:通用输出流类和其他输出类的基类 iostream:通用输入输出流类和其他输入输 ...

  8. C#使用ICSharpCode.SharpZipLib.dll压缩文件夹和文件

    大家可以到http://www.icsharpcode.net/opensource/sharpziplib/ 下载SharpZiplib的最新版本,本文使用的版本为0.86.0.518,支持Zip, ...

  9. 转载 .net中的dll.refresh文件和pdb文件

    转载原地址: http://blog.csdn.net/lihuang319/article/details/6433727 dll.refresh文件 打开refresh文件,可以看到里面仅仅是个路 ...

随机推荐

  1. Linux centos 7 目录结构

    一.目录结构与用途: /boot:系统引导文件.内核 /bin:用户的基本命令 /dev:设备文件 /etc:配置文件 /home:用户目录 /root:root用户目录 /sbin:管理类的基本命令 ...

  2. [JavaWeb基础] 027.JAVA中使用Axis搭建webservice-示例实现(二)

    在上面的一个文章中,我们介绍了如何搭建Axis2的环境,也就是在MyEclipse中加入Axis的开发插件,那么,准备工作做好了之后,下面我们就用上一章的工具去搭建一个WebService的简单例子. ...

  3. [微信营销企划之路]003.Access forbidden!

    引言 继<[微信营销企划之路]001.环境搭建(XAMPP+WeiPHP)>后,有不少朋友反应按照001教程配置虚拟多站点(<VirtualHost/>)后,部分站点会出现Ac ...

  4. MANIFEST.MF是个什么?

    MANIFEST.MF是个什么? 写这篇文件主要记录JRA文件里面到底是什么?然后MANIFEST.MF又是什么?Springboot 如何只有Main方法就可以运行的? Springboot项目打包 ...

  5. day1_计算机基础

    一.计算器5大组成:计算机硬件:(计算机是奴隶)         1.五大组成             控制器             运算器             存储器I/O:内存+外存     ...

  6. jchdl - RTL实例 - MOS6502 Mem

    https://mp.weixin.qq.com/s/ST8q-VWOT47kcYg10-4AQw   实现一个简单的内存模块,匹配MOS6502 CPU使用.   参考链接 https://gith ...

  7. Bootstrap解决页面缩小变形的办法

    bootstrap布局是应用得很广泛的一种网页布局方法,例如:我们用一种中间内容很流行的布局分布:3-6-3式布局.代码如下 <style type="text/css"&g ...

  8. Java实现 LeetCode 529 扫雷游戏(DFS)

    529. 扫雷游戏 让我们一起来玩扫雷游戏! 给定一个代表游戏板的二维字符矩阵. 'M' 代表一个未挖出的地雷,'E' 代表一个未挖出的空方块,'B' 代表没有相邻(上,下,左,右,和所有4个对角线) ...

  9. Java实现 蓝桥杯 历届试题 约数倍数选卡片

    问题描述 闲暇时,福尔摩斯和华生玩一个游戏: 在N张卡片上写有N个整数.两人轮流拿走一张卡片.要求下一个人拿的数字一定是前一个人拿的数字的约数或倍数.例如,某次福尔摩斯拿走的卡片上写着数字" ...

  10. Java实现第九届蓝桥杯堆的计数

    堆的计数 题目描述 我们知道包含N个元素的堆可以看成是一棵包含N个节点的完全二叉树. 每个节点有一个权值.对于小根堆来说,父节点的权值一定小于其子节点的权值. 假设N个节点的权值分别是1~N,你能求出 ...