- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C中的输入输出流
C++中的文件输入/输出 首先声明此处介绍的是以#includefstream.h为前提的: ifstream OpenFile(char *filename, int open_mode); 你应当知道 下面是打开模式的列表: 名称 描述 ios::in 打开一个可读取文件 ios::out 打开一个可写入文件 ios::app 你写入的所有数据将被追加到文件的末尾,此方式使用ios::out ios::ate 你写入的所有数据将被追加到文件的末尾,此方式不使用ios::out ios::trunk 删除文件原来已存在的内容(清空文件) ios::nocreate 如果要打开的文件并不存在,那么以此参数调用open()函数将无法进行。 ios::noreplace 如果要打开的文件已存在,试图用open()函数打开时将返回一个错误。 ios::binary 以二进制的形式打开一个文件。 实际上,以上的值都属于一个枚举类型的int常量。但为了让你的编程生涯不至于太痛苦,你可以像上表所见的那样使用那些名称。 下面是一个关于如何使用打开模式的例子: #include fstream.h void main() { ofstream SaveFile(file1.txt, ios::ate); SaveFile Thats new!\n; SaveFile.close(); } 正如你在表中所看到的:使用ios::ate将会从文件的末尾开始执行写入。如果我没有使用它,原来的文件内容将会被重新写入的内容覆盖掉。不过既然我已经使用了它,那么我只会在原文件的末尾进行添加。所以,如果file1.txt原有的内容是这样: nick chen 那么执行上面的代码后,程序将会为它添上“is me!”,因此它看起来将变成这样: nick chen is me! while(!OpenFile.eof()) { OpenFile.get(ch); cout ch; } 你是不是曾经很想知道那背后真正执行了什么操作?不管是或不是,我都将为你解释。这是一个while型循环,它会一直反复,直至程序的操作到达文件的尾端。但这个循环如何知道是否已经到了文件末尾?嗯,当你读文件的时候,会有一个类似于“内置指针(inside-pointer)”的东西,它表明你读取(写入也一样)已经到了文件的哪个位置,就像记事本中的光标。而每当你调用OpenFile.get(ch)的时候,它会返回当前位置的字符,存储在ch变量中,并将这一内置指针向前移动一个字符。因此下次该函数再被调用时,它将会返回下一个字符。而这一过程将不断反复,直到读取到达文件尾。所以,让我们回到那行代码:函数seekg()将把内置指针定位到指定的位置(依你决定)。你可以使用: ios::beg —— 可将它移动到文件首端 ios::end —— 可将它移动到文件末端 或者,你可以设定向前或向后跳转的字符数。例如,如果你要向定位到当前位置的5个字符以前,你应当写: File.seekg(-5); 如果你想向后跳过40个字符,则应当写: File.seekg(40); 同时,我必须指出,函数seekg()是被重载的,它也可以带两个参数。另一个版本是这样子的: File.seekg(-5,ios::end); 在这个例子中,你将能够读到文件文本的最后4个字符,因为: 1)你先到达了末尾(ios::end) 2)你接着到达了末尾的前五个字符的位置(-5) 为什么你会读到4个字符而不是5个?噢,只须把最后一个看成是“丢掉了”,因为文件最末端的“东西”既不是字符也不是空白符,那只是一个位置(译注:或许ios::end所“指”的根本已经超出了文件本身的范围,确切的说它是指向文件最后一个字符的下一个位置,有点类似STL中的各个容器的end迭代点是指向最后一个元素的下一位置。这样设计可能是便于在循环中实现遍历)。 filename表示文件的名称(一个字符串),而新出现的则是open_mode(打开模式)。open_mode的值用来定义以怎样的方式打开文件。
有哪些信誉好的足球投注网站
文档评论(0)