详解C++编程中的文件流与字符串流

2020-01-06 13:49:32王振洲

2) 在建立字符串流strout时指定流缓冲区大小为30字节,与字符数组c的大小不同,这是允许的,这时字符串流最多可以传送30个字符给字符数组c。请思考:如果将流 缓冲区大小改为10字节,即:

 

 
  1. ostrstream.strout( c ,10); 

运行情况会怎样?流缓冲区只能存放10个字符,将这10个字符写到字符数组c中。运行时显示的结果是:

 

 
  1. 1001Li7810 

字符数组c中只有10个有效字符。一般都把流缓冲区的大小指定与字符数组的大小 相同。

3) 字符数组c中的数据之间没有空格,连成一片,这是由输出的方式决定的。如果以后想将这些数据读回赋给程序中相应的变量,就会出现问题,因为无法分隔两个相邻的数据。为解决此问题,可在输出时人为地加入空格。如

 

 
  1. for(int i=0;i<3;i++)  strout<<" "<<stud[i].num<<" "<<stud[i].name<<" "<<stud[i].score;