第八章 8 3 1節練習

2021-06-23 06:45:09 字數 1039 閱讀 6676

題目:

練習8.9:

使用你為8.1.2節第乙個練習所寫的函式列印乙個istringstream物件的內容。

個人解答:

參考書上給出的範例,這個程式應該很容易寫出來

istream& func(istream& in) 

for (auto i : in_buf)

cout << endl;

in.clear();

return in;

}

練習8.10:

編寫程式,將來自乙個檔案中的行儲存在乙個vector中。然後使用乙個istringstream從vector讀取資料元素,每次讀取乙個單詞。

個人回答:

參考8.9的程式。不過,這個題目要求的是讀取乙個單詞。8.9的程式的魯棒性還不夠,對於標點符號還沒有進行處理。

練習8.11:

本節的程式在外層while迴圈中定義了istringstream物件。如果record物件第一在迴圈外,你需要對程式進行怎樣的修改?重寫程式,將record的定義一到while迴圈之外,驗證你的設想的修改方法是否正確。

個人解答:

istream& func(istream& in) 

for (auto i : in_buf)

cout << endl;

in.clear();

return in;

}

使用了上面的**進行修改。這裡將istringstream定義在了while迴圈的外部。使用str()成員函式讀取字串,在壓入完成後將該流的狀態復位,這樣就可以持續進行輸出了。不加clear()函式,程式會在列印檔案第一行後停止。

練習8.12:

我們為什麼沒有在personinfo中使用類內初始化?

個人解答:

因為,在personinfo中沒有const和引用型別的成員變數。這是從c++類角度來說的。

從物件的角度,因為無法對乙個具體成員進行**,這裡對乙個人的個人資訊進行初始化是沒有任何意義的。

第八章 8 1 2節練習

決定開博寫文的時候,我已經看到第8章了。這裡,從第8章開始。當然之前的章節,會在後面補上。分界線 題目 練習8.1 編寫函式,接受乙個istream 引數,返回值型別也是istream 此函式須從給定流中讀取資料,直至遇到檔案結束標識時停止。將讀取的資料列印在標準輸出上。完成這些後,在返回留之前。對...

第八章 8 3 2節練習

題目 練習8.13 重寫本節的 號碼程式,從乙個命名檔案而非cin讀取資料。個人解答 函式實現 istream func istream in for auto i in buf cout endl in.clear return in main函式 int main 這樣就完成了對cin的替換。其...

第八章上課練習

向student表中插入資料 語法 insert into 表名 列名 values 值列表 insert into student studentno,loginpwd,studentname,gradeid,phone,address,borndate,email values s1304002...