2013-07-19 4 views
0

Я пытаюсь преобразовать pszOutBuffer, который создается ниже в const char * Так, чтобы сделать это, я пытаюсь использовать sprintf создать char называется buffer, а затем, наконец, получение bufferc_str(). Но buffer является thowing об ошибке «Выражение должно иметь тип класса»Char «Expression должен иметь тип класса»

if(!WinHttpReadData(hRequest, (LPVOID)pszOutBuffer, 
    dwSize, &dwDownloaded)) 
    printf("Error %u in WinHttpReadData.\n", GetLastError()); 
else 
    printf("%s", pszOutBuffer); 
    char buffer [4096]; 
    sprintf(buffer,"%s",pszOutBuffer); 
    returnval = buffer.c_str(); 
+0

Что такое 'pszOutBuffer' изначально? – jogojapan

ответ

3

пару вопросов. Во-первых, вам не хватает фигурных скобок на вашем другом, а два вы пытаетесь использовать функцию-член на родном типе (массив символов).

Я не уверен, что вы имели в виду сделать (возможно использование std::string, но это не будет работать очень хорошо с sprintf), но если вы хотите использовать std::string, то вы должны использовать std::stringstream подражать, что sprintf делает или просто построить он с одним из его конструкторов.