임은 Win32 함수 ReadFile을 사용하여 :win32 CHAR (char) 유형을 std 문자열로 변환하는 방법은 무엇입니까?
CHAR lpBuffer[256];
DWORD nBytesRead;
DWORD nCharsWritten;
ReadFile(hPipeRead,lpBuffer,sizeof(lpBuffer),
&nBytesRead,NULL) || !nBytesRead)
지금 메신저 catcing 내가 문자열을 수 std 변환하고자 이와 lpBuffer에의 표준 출력의 응답을, 문제는 내가 간단 할 때입니다 :
std::string szReturnlpBuffer(lpBuffer);
szReturnlpBuffer의 값이 실제 문자열 뒤에 garbege의 carecthers을 많이 포함 이것을 szReturnlpBuffer 값과 같은 외모 :
"임은 Qt는 applicationÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ에서 표준 출력"
어떤 메신저 잘못 여기서 뭐? 그것은 외부 lpBuffer
의 메모리를 얻을 때 정의되지 않은 동작이 발생 널 문자를 발견까지 그렇지 않으면 읽기 때문에
std::string szReturnlpBuffer(lpBuffer, nBytesRead);
:
, 왜 QString을 사용하지? – CMircea