, поэтому я получаю соединение через сокет, и получаю правильное сообщение ... однако, когда я пытаюсь извлечь его из буфера приема ... оно не работает. Мой код выглядит примерно так:
void CClientSocket::OnReceive(int nErrorCode)
{
char buff[1000];
int ibuf = Receive(buff,sizeof(buff));
buff[sizeof(buff)-1] ='\0';
CSocket::OnReceive(nErrorCode);
}
Когда я запускаю в режиме отладки, значение buff содержит правильное сообщение ... вместе с кучей случайных символов, заполняющих неиспользуемую часть массива. Тем не менее, я не могу использовать эти данные ... если я пытаюсь преобразовать в 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 или пустой символ и т. д. ... ошибок нет.