- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2008-2009-2 C++程序设计 * 六、磁盘文件的输入和输出 对文件的操作是由文件流类完成的。文件流类在流与文件之间建立连接。 文件流分为: 输入流、输出流、输入/输出流 磁盘文件一般分为: 文本文件、二进制文件和随机文件 对磁盘文件流的基本操作: 定义流对象、打开、读写操作、关闭 2008-2009-2 C++程序设计 * 例11.4: 问题:分析程序结果。 #include iostream.h #includestring.h void PrintString(char *s) {cout.write(s,strlen(s)).put(\n); cout.write(s,7)\n; } void main() {char str[]=I love China; coutthe string is:strendl; PrintString(str); PrintString(this is a string); } 程序运行结果为: the string is:I love China I love China I love this is a string this is 2008-2009-2 C++程序设计 * 二、标准输入 标准输入主要有三种形式: 预定义的符提取符 利用cout的get()成员函数 利用cout的read()成员函数 2008-2009-2 C++程序设计 * 1.预定义的提取符 预定义的提取符() 最一般的键盘输入是将提取符作用在流类的对象cin上。 cin重载格式: istream operator(istream is,classtype var); 使用格式: cin表达式表达式… 说明: 从键盘上输入的两个数之间常用空白符、tab、或换行符作为分隔符。 2008-2009-2 C++程序设计 * 例11.5: 问题:提取符的应用。 #include iostream.h #includestring.h void main() {const int SIZE=80;char buf[SIZE]; char *largest;int curLen,maxLen=-1,cnt=0; coutInput words:\n; while(cinbuf)//输入单词以空白分隔,以ctrl+z结束。 {curLen=strlen(buf);cnt++; if(curLenmaxLen) {maxLen=curLen; largest=buf;}} coutendl;cout单词个数:cntendl; cout最长的单词长度:maxLenendl; cout最后一个单词:largestendl;} 程序运行结果为: Input words: extractor example. ^Z 单词个数:2 最长的单词长度:9 最后一个单词:example. 2008-2009-2 C++程序设计 * 提取符使用注意事项: 提取符可从输入流中读取一个字符序列。并认为这个字符串是以空白符为结束的字符序列。每读入一个字符串时,系统自动加上\0字符。 使用ctrl+z作为输入流的结束符。 具体操作中,先输入换行符后,再输入ctrl+z键。此时cinbuf的值为0,则退出循环。 2008-2009-2 C++程序设计 * 2.get()成员函数 使用get()读一个字符 格式:cin.get( ) 如例9-9 格式:cin.get(char ch) 格式:cin.getline(char *buf,int limit,Deline=‘\n’); 如例9-10 注意:该函数从输入流中获取字符时,不忽略空白符。 2008-2009-2 C++程序设计 * 例11.6: 问题:分析程序输出结果。 #include iostream.h void main() { char ch; int i=0; coutinput: ; while((ch=cin.get())!=EOF) { cout.put(ch); i++; } coutok!endl; couti=i; } 程序运行结果为: input: abcdefghijklmn abcdefghijklmn ^Z ok! i=15 2008-2009-2 C++程序设计 * get()使用注意事项: get()从输入流返回一个字符的ASCII码值,可以赋给一个int型量。 EOF是一个符号常量,它的值是-1,被包含在iostream.h文件中。 put(ch)只能对char型量操作。与get()不同。 2008-2009-2 C++程序设计 * 例11.7: 问题:编程统计从键盘上
文档评论(0)