第14周-閱讀專案5-字串流物件

kewlgrl發表於2015-06-15
問題及程式碼:

#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;
}


執行結果:


問題及程式碼:

#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;
} 


執行結果:





知識點總結:
字串流物件。

學習心得:

字串流真是好方便阿,新技能get√~

相關文章