討論區快速選單
知識庫快速選單
網路投保旅行平安險 政府補助!學嵌入式+物聯網 傑米的攝影旅遊筆記
[ 回上頁 ] [ 討論區發言規則 ]
請問一個 CInternetSession 的問題
更改我的閱讀文章字型大小
作者 : kuolung(kuolung)
[ 貼文 151 | 人氣 1414 | 評價 130 | 評價/貼文 0.86 | 送出評價 39 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2018/10/5 下午 03:51:23
我在我的程式中用

CInternetSession m_sess( _T("MyProgram/1.0"));

再加入

fileGet = (CHttpFile*)m_sess.OpenURL(L"http://www.taifex.com.tw/cht/2/weightedPropertion");


CFile fileWrite;
     if(fileWrite.Open(strWriteName, CFile::modeWrite|CFile::modeCreate))
     {
while ( fileGet->Read( buffer, BUF_SIZE ) )
     {
fileWrite.Write( buffer, BUF_SIZE );
     }
fileLengh = fileWrite.GetLength();
     fileWrite.Close();
if (fileLengh > 50000) {
total = 1;
TRACE("下載完畢");
}
else {
TRACE("下載長度不足");
}
     }

直接下載一個網頁

目前發生一個奇怪的門口,就是這樣無法下載完整的頁面
中間都會掉字元,或是變亂碼

如何解決
作者 : ice_emissary(燃燒的大地) 貼文超過200則
[ 貼文 408 | 人氣 0 | 評價 1890 | 評價/貼文 4.63 | 送出評價 18 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2018/10/6 上午 11:13:26
請檢查 fileGet->Read 的回傳值並加以運用。

簡單說,你要求讀取100位元組的數據,可它可能只會給你20位元組數據,甚至0位元組。可能數據已經到結尾了,也可能剩下的數據還沒傳來。
假設你邀請100而它只給你20,但你的程式碼還是寫100到檔案去,那麼剩下的80是什麼?不就變成中間的亂碼?
 板主 : 青衫 , Raymond
 > Visual C++ - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Visual C++ - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Visual C++
1 青衫 11070 
2 Raymond 10090 
3 Clier 7630 
4 小約翰 2500 
5 Cog 2030 
6 coco 1870 
7 aming 1410 
8 牧童哥 1400 
9 r2109 1380 
10 Akira 1350 
Visual C++
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.125