Символ «Выражение должно иметь тип класса»

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

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

Решение

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

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

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]