討論區快速選單
知識庫快速選單
傑米的攝影旅遊筆記 了解駭客手法,才能有效攻防 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
istringstream >>導入觀念詢問
更改我的閱讀文章字型大小
作者 : redonizuka(Saul)
[ 貼文 12 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/8/17 下午 02:13:42
目前使用istringstream,但在導入上有些觀念要詢問,

以一個string作範例,如程式碼,為了要將此字串分割於陣列媕Y

使用while(istr>>b[i]),讓他"依序"將值導入於陣列,

想問的是之所以會有依序這個動作是他本身函式內建的動作嗎?

我原本以為他是搬移,將istr內的搬至b[i],因此有依序

但將istr.str() cout出,卻發現他並不是搬移

再來,若我在while loop裡面再對另一個陣列c做導入

while(istr>>b[i])
{
   istr>>c[i]

會使得我istr又往前一個資料

想清楚釐清這方面的觀念

謝謝

附上程式碼

#include<iostream>
#include<sstream>

using namespace std;

int main()
{
    string s="1 10 22 33";
    int b[4],c[4];
    istringstream istr;
    istr.str(s);
    int a=0;
    while(istr>>b[a])
    {
     for(int i=0;i<4;i++)
     cout<<b[i]<<"\t";
     a++;
     cout<<istr.str()<<endl;
    }
    return(0);
}


有聽說stream跟quene一樣用了就不存在

但是我重新cout<<istr.str()<<endl; 仍可以顯示出istr

跟不存在有些衝突,另外想問">>"這個符號叫導入嗎

我自己已導入自稱,有錯請求指正

謝謝
作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++一代宗師新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4945 | 人氣 9172 | 評價 32290 | 評價/貼文 6.53 | 送出評價 142 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/8/18 上午 12:48:31
>有聽說stream跟quene一樣用了就不存在
>但是我重新cout<<istr.str()<<endl; 仍可以顯示出istr
>跟不存在有些衝突

std::istringstream 跟std::ifstream 的概念一樣. 如果你開啟檔案讀了一些資料後, 這些資料會從檔案內刪除嗎? 當然不會.

input stream 只不過用個 buffer location 物件來記錄它下一個 >> 該讀取的位置.

建議參考書:
  The C++ Standard Library: A Tutorial and Reference (2nd Edition) by Nicolai M. Josuttis (http://www.amazon.com/The-Standard-Library-Tutorial-Reference/dp/0321623215)


>另外想問">>"這個符號叫導入嗎
>我自己已導入自稱,有錯請求指正

一般把它叫做input operator 或 extraction operator (簡稱 extractor(s), 這也是 C++ 標準文件使用的名字). 另一個 output operator (<<) 官方的名稱是 inserter(s).

我不知道 extractor(s) 跟 inserter(s) 的精確中文名稱叫什麼, 這就留給專業來做.

 板主 : Jammy
 > 新手入門 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 新手入門 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
新手入門
1 Raymond 900 
2 BK. 820 
3 Jasper 500 
4 太子 500 
5 Benson 410 
6 joe 400 
7 DEMO999 370 
8 青衫 300 
9 小朱 300 
10 Eric Ho 290 
新手入門
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.03125