討論區快速選單
知識庫快速選單
最紅的App開發語言:Kotlin 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
StreamReader的Peek()
更改我的閱讀文章字型大小
作者 : meetblake(神谷篤司) 人氣指數超過10000點
[ 貼文 148 | 人氣 15218 | 評價 80 | 評價/貼文 0.54 | 送出評價 14 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/6/1 下午 04:01:07
我用的是WIN7,VS2008,.NET FRAMEWORK是2.0

想請問一下關於StreamReader的Peek()的用法
我利用FileInfo開啟兩個TXT檔,TXT的內容大致如下
第一個
A
B
C
F
H
G
第二個
C
D
E
H
G
目的是把兩個檔案都共有的項目寫進第三個TXT檔
也就是結果會是
C
H
G
我的寫法是利用兩個while

while(srAry[0]->Peek() >= 0) {
     IdArray[0] = (srAry[0]->ReadLine())->TrimEnd();
     while(srAry[1]->Peek() >= 0)
     {
     IdArray[1] = (srAry[1]->ReadLine())->TrimEnd();
if(IdArray[0] == IdArray[1])
     {
     // do something
     }
     }
}

我的疑問是,當srAry[0]取得第一行,接著依序和srAry[1]取出的每一行比對完後,
當srAry[0]取得第二行(也就是B)時,第二個while { }似乎進不去了
好像是srAry[1]->Peek()會一直傳回-1
請問有什麼方法可以重置srAry[1]->Peek()的回傳值嗎?
作者 : xwlin(XWLin) 人氣指數超過10000點
[ 貼文 147 | 人氣 20298 | 評價 430 | 評價/貼文 2.93 | 送出評價 3 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/7/27 下午 10:40:52
你可以使用:

sr.BaseStream.Seek(0, SeekOrigin.Begin);

試試看。
 板主 : 小朱
 > .NET Framework - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - .NET Framework - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
.NET Framework
1 小朱 1380 
2 識丁 270 
3 吳馨琳 140 
4 好說 110 
5 lj 110 
6 愛睏魚 90 
7 mark 90 
8 yihcheng 80 
9 SULIN 80 
10 lacosteyu 70 
.NET Framework
  專家等級 評價  
  一代宗師 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.015625