을 사용할 수 없습니다를 통해 수신 ... 그렇지 않습니다 작업. 배열의 사용하지 않는 부분을 채우고 임의의 문자의 무리와 함께 내가 디버그 실행하면데이터 소켓 그래서 수신 버퍼에서 추출하려고 그러나 때 ... 나는 소켓 통신을 받고 있어요, 내가 적절한 메시지를 받고 있어요 C++
void CClientSocket::OnReceive(int nErrorCode)
{
char buff[1000];
int ibuf = Receive(buff,sizeof(buff));
buff[sizeof(buff)-1] ='\0';
CSocket::OnReceive(nErrorCode);
}
는, 버프의 값이 적절한 메시지를 포함 ... : 내 코드는 다음과 같이 보입니다. 그러나, 나는 그 데이터를 사용할 수 없다 ... CString으로 변환하려고하거나 문자를 다른 배열로 전송하려고하면 ... 아무 것도 작동하지 않는다. 나는 당황스럽고 무엇을해야할지 정말로 모른다.
당신이 더 많은 정보가 필요하면 알려주세요 아니면 어떤 식 으로든 불분명 생각합니다.편집 : 나는 데이터를 추출하는 것을 시도했다 몇 가지 코드
CString string;
string = CString(buff);
및
char *msg;
msg = new char[ibuf]
for(int i = 0; i < ibuf; i++){
msg[i] = (char)buff[i];
}
편집 : 나는 때 의미 '아무것도 작동하지 않습니다'고 말했다 몇 가지 설명 나는 그것을 변환하려고, 결과 및 빈 CString 또는 빈 숯 등 ... 거기에 오류가 있습니다.
당신이 아무튼 관련 코드를 게시 할 수 (당신이 HTTP를하고 있다면 헤더를 처리하는 동안 당신이 그 응답의 내용에 대한 특정 버퍼 크기를 결정, 개행 문자가 표시 될 때까지 예를 들어, 당신은 ... 문자 버퍼 수) 일하지 않니? 즉 : "CString"으로 변환하려고 할 때? – netcoder
이것이 아마도'std :: string'을 발명 한 이유입니다 : D – Griwes
우리는 프로그래머가 오류 메시지를 이해할 수 있습니다. "아무것도 작동하지 않는다"고 말하지 마십시오. 분명히 코드를 올바르게 작성하면 분명히 무언가가 작동합니다. –