2013-04-16 63 views
-2

這是我的代碼從CString參考獲取CString?

CInternetSession session(L"My Session"); 
CHttpConnection *pHttpCon ; 
CHttpFile *filedat = NULL; 
pHttpCon = session.GetHttpConnection((LPCTSTR)Url_server, (INTERNET_PORT)1040, (LPCTSTR)username, (LPCTSTR)password); 
    filedat = pHttpCon->OpenRequest(CHttpConnection::HTTP_VERB_GET, ""); 
    filedat->SendRequest(); 
CString line; 
while(filedat->ReadString(line)) { 
     printf("Line : %s ",(LPCTSTR)line); 
     printf("\n Line Length : %d ",line.GetLength()); 
} 

問題是讀取字符串是「file1.name = 201304」和長度爲9 它應該是17或更多。任何哥們都可以告訴我可能是什麼問題?

String Read         Showing Length 
"file1.size=16"          7       
"file1.time=2013/02/28 Thu 10:36:32"    17 
"file1.name=201304"         9 
+0

如果您預計長度爲17,你會得到長度爲9,什麼是9字符串的內容* *?它是你期望的第9個字符嗎? –

+0

NO。內容是「file1.name = 201304」.. –

+0

所以,你說'CString :: GetLength()'給出錯誤的值? –

回答

0

請問以下工作:

while(filedat->ReadString(line)) 
{ 
/* Original code 
    printf("Line : %s ",(LPCTSTR)line); 
    printf("\n Line Length : %d ",line.GetLength()); 
*/ 
    _tprintf(L"%s\n", (LPCTSTR)line); 
    _tprintf(L"Line Length: %d\n\n", line.GetLength()); 
}