2013-04-16 4 views
-2

Voici mon codeObtenir CString à partir de la référence 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()); 
} 

problème est la chaîne Read est "file1.name = 201304" et la longueur est de 9 Il doit être 17 ou plus. Quelqu'un peut-il me dire quel peut être le problème?

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

Si la longueur que vous attendez est 17 et la longueur que vous obtenez est 9, quel est le contenu * * de cette chaîne de caractères 9? Est-ce le premier 9 caractères de ce que vous attendez? –

+0

NO. Le contenu est "file1.name = 201304" .. –

+0

Donc, vous dites que 'CString :: GetLength()' donne une valeur incorrecte? –

Répondre

0

Est-ce que les travaux suivants:

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()); 
}