设为首页 加入收藏

TOP

C++文件读写详解(一)
2014-03-10 12:53:24 来源: 作者: 【 】 浏览:264
Tags:文件 读写 详解

  在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结:

  这里主要是讨论fstream的内容:

  [java] view plaincopyprint

  #include

  ofstream //文件写操作 内存写入存储设备

  ifstream //文件读操作,存储设备读区到内存中

  fstream //读写操作,对打开的文件可进行读写操作

  1.打开文件

  在fstream类中,成员函数open()实现打开文件的操作,从而将数据流和文件进行关联,通过ofstream,ifstream,fstream对象进行对文件的读写操作

  函数:open()

  [cpp] view plaincopyprint

  

  public member function

  void open ( const char * filename,

  ios_base::openmode mode = ios_base::in | ios_base::out );

  void open(const wchar_t *_Filename,

  ios_base::openmode mode= ios_base::in | ios_base::out,

  int prot = ios_base::_Openprot);

  

  参数: filename 操作文件名

  mode 打开文件的方式

  prot 打开文件的属性 //基本很少用到,在查看资料时,发现有两种方式

  打开文件的方式在ios类(所以流式I/O的基类)中定义,有如下几种方式:

  ios::in为输入(读)而打开文件

  ios::out为输出(写)而打开文件

  ios::ate初始位置:文件尾

  ios::app所有输出附加在文件末尾

  ios::trunc如果文件已存在则先删除该文件

  ios::binary二进制方式

  这些方式是能够进行组合使用的,以“或”运算(“|”)的方式:例如

  [cpp] view plaincopyprint

  ofstream out;

  out.open("Hello.txt", ios::in|ios::out|ios::binary) //根据自己需要进行适当的选取

  打开文件的属性同样在ios类中也有定义:

  0普通文件,打开操作

  1只读文件

  2隐含文件

  4系统文件

  对于文件的属性也可以使用“或”运算和“+”进行组合使用,这里就不做说明了。

  很多程序中,可能会碰到ofstream out("Hello.txt"), ifstream in("..."),fstream foi("...")这样的的使用,并没有显式的去调用open()函数就进行文件的操作,直接调用了其默认的打开方式,因为在stream类的构造函数中调用了open()函数,并拥有同样的构造函数,所以在这里可以直接使用流对象进行文件的操作,默认方式如下:

  [cpp] view plaincopyprint

  

  ofstream out("...", ios::out);

  ifstream in("...", ios::in);

  fstream foi("...", ios::in|ios::out);

  

  当使用默认方式进行对文件的操作时,你可以使用成员函数is_open()对文件是否打开进行验证

     

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++:关于const类型 下一篇C++ AO读取shapefile的属性值

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Libevent C++ 高并发 (2025-12-26 00:49:30)
·C++ dll 设计接口时 (2025-12-26 00:49:28)
·透彻理解 C 语言指针 (2025-12-26 00:22:52)
·C语言指针详解 (经典 (2025-12-26 00:22:49)
·C 指针 | 菜鸟教程 (2025-12-26 00:22:46)