转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 网络书斋 >> 正文
第10章 C+ +流考点归纳         ★★★

《计算机二级C++考试辅导资料大全》之“ 第10章 C+ +流考点归纳”篇

作者:闵涛 文章来源:闵涛的学习笔记 点击数:4897 更新时间:2007/10/4 17:09:27
(char c):设置填充字符;
     等价函数调用:io.fill(c)
     函数返回此前设置的填充字符;如果只需要这个返回值,可不给参数。
9插入换行符
     ●end1:插入换行符(即'\ n')并强制写缓,实现输出的回车换行(与格式标志无关);
     等价函数调用:o.put(o.widen('\n'));o.flush()
10其他格式控制方式
     (1)插入字符串结束符。
     (2)输入输出数制状态的控制。
     (3)逻辑常量输出方式的控制。
     (4)前导空白字符处理方式的控制。
     (5)缓冲区工作方式的控制。
     (6)正数的符号表示方式的控制。
     10.3 文件流
     文件流以磁盘文件以及其他可按文件方式进行管理的外部设备为输入输出对象。ifstream是文件输入流类,ofstream是文件输出流类,fstream是文件输入输出流类。要利用这些类来定义文件流对象,必须在程序的开始部分包含如下的预处理命令和名字空间声明:
     #include
     using namespace std;
     1文件流的建立
     每个文件流都应当与一个打开的文件相联系。可以用两种不同的方式打开文件。
     (1)在建立文件流对象的同时打开文件。
     (2)先建立文件流对象,再在适当的时候打开文件。
     2文件流的关闭
     关闭文件流用成员函数close(),例如若fin是一个文件流对象,则可用下面的语句关闭:
       fin.close ();
     如果程序没有用close()主动关闭文件,则在文件流对象退出其作用域时,被自动调用的析构函数会关闭该对象所联系的文件。但我们提倡在打开的文件不再需要时及时并主动地将之关闭,以便尽早释放所占用的系统资源并尽早将文件置于更安全的状态。
     3文件流状态的判别
     可以用文件流对象的下列成员函数来判别文件流的当前状态:
     is_open():判定流对象是否与一个打开的文件相联系,若是,返回true,否则返回false;
     good():刚进行的操作成功时返回true,否则返回false;
     fail():与good()相反,刚进行的操作失败时返回true,否则返回false;
     bad():如果进行了非法操作返回true,否则返回false;
     eof():进行输入操作时,若到达文件尾返回true,否则返回false.
     也可以直接针对流对象进行判断。假定input是一流对象,则
     if (! input)…等同于if(input.fail())…
     if (input)…等同于if(input.good())…
     4文件流的定位
     (1)文件位置与定位方式
     流的位置以字节为单位,通常表示为一个长整数,用类形符号pos_type代表。C+ +流的位置有两种:输入(get)位置和输出(put)位置。输入流只有输入位置,流对象中标志这种位置的指针称为输入指针。输出流只有输出位置,流对象中标志这种位置的指针称为输出指针。输入输出流两种位置都有,因而同时具备输入指针和输出指针:这两个指针可以分别控制、互不干扰。对于文件流,这两种指针可统称文件指针。
     每一次输入或输出都是从指针所指定的位置处开始的,指针在输入输出过程中不断移动,完成输入或输出 后即指向下一个需要输入或输出的位置。因此,在进行一般的输入输出操作时,指针总是向后(文件尾方向)移动。
     也可以通过专门的定位操作操纵指针,而且既可以向后移动,也可以向前移动,见下面的说明。C+ +流的定位方式(也就是指针移动方式)有三种,被定义为ios_base::seek_dir中的一组枚举符号:
     ios_base::beg 相对于文件首
     ios_base::cur 相对于当前位置(负数表示当前位置之前)
     ios_base::end 相对与文件尾
     (2)输入定位
     输入流对象中与输入定位有关的成员函数有:
     ●istream_type seekg(off_type off,ios_base ::seek_dir dir);
     按方式dir将输入定位于相对位置off处,函数返回流对象本身的引用
     ●pos_type tellg();
     返回当前的输入位置,即从流开始处到当前位置的字节数
     ●bool eof()const;
     判定输入流是否结束,结束时返回true,否则返回false。
     (3)输出定位
     在输出流对象中与输出定位有关的成员函数有:
     ●ostream_type& seekp( pos_type pos);
     (绝对定位)将输出流定位于绝对位置pos,函数返回流对象本身的引用
     ● ostream_type& seekp(off_type off,ios_base ::seekdir dir);
     (相对定位)按方式dir将输出流定位于相对位置off处,函数返回流对象本身的引用
     ●pos_type tellp();
     返回当前的输出位置(pos_type通常就是long),即从流开始处到当前位置的字节数。
     5特殊的文件流:CON和PRN
     以"CON"为文件名建立的输入流所联系的设备是键盘,可用于键盘输入;以"CON"为文件名建立的输出流所联系的设备是显示器,可用于显示输出。
     6有格式输入输出
     针对文件的格式化输入输出与针对标准设备cin和cout的输入输出十分相似,但仍有两点需要注意。
     作为格式化输入输出,所操作的文件都是纯文本文件,因此可以用记事本或写字板等文本编辑器来准备这样的数据文件,以供应用程序输入处理;应用程序通过格式化输出所生成的数据文件也同样可以用记事本或写字板等文本编辑器来查看。
     每一个作为格式化输入源的流对象(如cin或一个输入文件流)都有一个流结束标记,读到该标记即表明其后没有更多的数据了。可以用流的成员函数eof()来判断是否读到流结束标记。对于输入流对象cin,可以通过在键盘上打入Z来插入流结束标记,但在完成输入后,必须执行一次cin.clear();后,cin才能继续使用。
     7无格式输入输出
     对于无格式输入输出,数据的内部存储格式与外部存储格式完全相同。无格式输入输出很多情况下是针对二进制文件的,输入输出需要用read函数或write函数,因而要求文件是按ios_base::binary模式打开的。注意和不能用于按ios_base::binary打开的文件(二进制文件)的输入和输出。

上一页  [1] [2] 


[招考就业]2010年国家公务员考试报考{参考指南}  [招考就业]2010年国家公务员考试备考指南
[Web开发]net在线考试系统如何控制考试时间  [Web开发]asp.net网上考试系统功能介绍
[网页制作]DreamWeaver+Css轻松实现网页段落首行缩进!  [网页制作]DIV+CSS+javascript实现DIV对象显示在页面任何位置…
[网页制作]div+css实现网页模块或栏目拖动(即拖拽效果)  [网页制作]XHTML+CSS兼容性解决方案
[网页制作]网页设计之css+div PK table+css  [网页制作]DIV+CSS三行两列经典布局
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · 电脑应用  · 网络应用
    · 软件开发  · 软件使用
    · 站长学院  · 数据库
    · 应用范文  · 网络书斋
    · 考试认证  · 精彩网文
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台