您的位置:首页 > 其它

第十五周程序阅读四

2015-06-17 14:38 316 查看
(1)

#include <strstream>
#include<iostream>
using namespace std;
struct student
{
int num;
char name[20];
float score;
};

int main( )
{
student stud[3]={1001,"Li",78,1002,"Wang",89.5,1004,"Fun",90};
char c[50];                //用户定义的字符数组
ostrstream strout(c,30);   //建立输出字符串流,与数组c建立关联,缓冲区长30
for(int i=0;i<3;i++)       //向字符数组c写3个学生的数据
strout<<stud[i].num<<stud[i].name<<stud[i].score;
strout<<ends;              //ends是C++的I/O操作符,插入一个′\\0′
cout<<"array c:"<<c<<endl;    //显示字符数组c中的字符
ostrstream strout1(c,40);  //这时,c将被重写
for(int i=0;i<3;i++)
strout1<<stud[i].num<<" "<<stud[i].name<<" "<<stud[i].score;
strout1<<ends;              //ends是C++的I/O操作符,插入一个′\\0′
cout<<"array c:"<<c<<endl;    //显示字符数组c中的字符
return 0;
}


运行结果:



(2):

#include <strstream>
#include<iostream>
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:"<<c<<endl;//显示字符数组中的字符串
istrstream strin(c,sizeof(c));    //建立输入串流对象strin并与字符数组c关联
for(i=0;i<10;i++)
strin>>a[i];                     //从字符数组c读入10个整数赋给整型数组a
cout<<"array a:";
for(i=0;i<10;i++)
cout<<a[i]<<" ";                 //显示整型数组a各元素
cout<<endl;
for(i=0;i<9;i++)                   //用起泡法对数组a排序
for(j=0;j<9-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;i<10;i++)
strout<<a[i]<<" ";               //将10个整数存放在字符数组c
strout<<ends;                      //加入′\\0′
cout<<"array c:"<<c<<endl;         //显示字符数组c
return 0;
}


运行结果:



学习心得:

运用了两个字符串流:strin和strout和某个字符数组关联,strin 从字符数组中获取数据,strout将数据传送给字符数组。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: