谭浩强C课件第章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 运行时在显示器上的输出如下: array c: 1001Li781002Wang89.51004Fun90 以上就是字符数组c中的字符。可以看到: (1) 字符数组c中的数据全部是以ASCII代码形式存放的字符,而不是以二进制形式表示的数据。 (2) 一般都把流缓冲区的大小指定与字符数组的大小相同。 (3)字符数组c中的数据之间没有空格,连成一片,这是由输出的方式决定的。如果以后想将这些数据读回赋给程序中相应的变量,就会出现问题,因为无法分隔两个相邻的数据。为解决此问题,可在输出时人为地加入空格。如 for(int i=0;i3;i++) strout″ ″stud[i].num″ ″stud[i].name″ ″stud[i].score; 同时应修改流缓冲区的大小,以便能容纳全部内容,今改为50字节。这样,运行时将输出 1001 Li 78 1002 Wang 89.5 1004 Fun 90 再读入时就能清楚地将数据分隔开。 例13.18 在一个字符数组c中存放了10个整数,以空格相间隔,要求将它们放到整型数组中,再按大小排序,然后再存放回字符数组c中。 #include strstream using namespace std; int main( ) {char c[50]=″12 34 65 -23 -32 33 61 99 321 32″; int a[10],i,j,t; cout″array c:″cendl;//显示字符数组中的字符串 istrstream strin(c,sizeof(c)); //建立输入串流对象strin并与字符数组c关联 for(i=0;i10;i++) strina[i]; //从字符数组c读入10个整数赋给整型数组a cout″array a:″; for(i=0;i10;i++) couta[i]″ ″; //显示整型数组a各元素 coutendl; for(i=0;i9;i++) //用起泡法对数组a排序 for(j=0;j9-i;j++) if(a[j]a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} ostrstream strout(c,sizeof(c)); //建立输出串流对象strout并与字符数组c关联 for(i=0;i10;i++) strouta[i]″ ″; //将10个整数存放在字符数组c stroutends; //加入′\\0′ cout″array c:″cendl; //显示字符数组c return 0; } 运行结果如下: array c: 12 34 65 -23 -32 33 61 99 321 32(字符数组c原来的内容) array a: 12 34 65 -23 -32 33 61 99 321 32 (整型数组a的内容) array c: -32 –23 12 32 33 34 61 65 99 321 (字符数组c最后的内容) 可以看到: (1) 用字符串流时不需要打开和关闭文件。 (2) 通过字符串流从字符数组读数据就如同从键盘读数据一样,可以从字符数组读入字符数据,也可以读入整数、浮点数或其他类型数据。 (3) 程序中先后建立了两个字符串流strin和strout,与字符数组c关联。strin从字符数组c中获取数据,strout将数据传送给字符数组。分别对同一字符数组进行操作。甚至可以对字符数组交叉进行读写。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * 2. 关闭磁盘文件 在对已打开的磁盘文件的读写操作完成后,应关闭该文件。关闭文件用成员函数close。如 outfile.close( );//将输出文件流所关联的磁盘文件关闭 所谓关闭,实际上是解除该磁盘文件与文件流的关联,原来设置的工作方式也失效,这样,就不能再通过文件流对该文件进行输入或输出。此时可以将文件流与其他磁盘文件建立关联,通过文件流对新的文件进行输入或输出。如 outfile.open(″f2.dat″,ios::app|ios::nocreate)

文档评论(0)

小吴 + 关注
实名认证
文档贡献者

同一个世界,同一个梦想

1亿VIP精品文档

相关文档