
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.207] |
![]() |
|
Сообщ.
#1
,
|
|||||
|
Здрасьте, у меня такая несложная трабла.... я хочу всего-лишь переслать строку через сокеты. Формирую и отсылаю строку вот так:
У меня в строке имеется 5 параметров, которые мне нужно передать, чтобы упростить дело, я разделил данные параметры NULL'ом. При получении у меня следующий код:
то есть в pBuf должно содержаться выраженение "MSG", но MessageBox выводит ВСЮ СТРОКУ ЦЕЛИКОМ и все параметры слитно, без пробела, в том месте где NULL. Как отделить куски строки??? Что у меня неверно. Спасибо. |
Сообщ.
#2
,
|
|||||
|
Это ничего не добавит к Buffer. Попробуй разделять символом "\1".
|
Сообщ.
#3
,
|
|||||||
|
а что означает "\1" ? Тоже что и NULL? char Buffer[1000]; int n=recv(Accept_Socket,Buffer,256,NULL); Buffer[n]=NULL; char* p=Buffer; MessageBox(NULL, p, szAppName, MB_ICONINFORMATION); Теперь вместо всей слитной строчки выводится строка, а между словами кубики....... ![]() у меня такой вопрос: Как отсечь столько символов, сколько имеется их слева до NULL или до "\1". |
Сообщ.
#4
,
|
|||||||
|
Просто нельзя добавить таким образом NULL к строке... Надо либо использовать CString:
либо извращаться с буфером
Опуская обработку ошибок что-нить вроде
Можно еще юзать для этих целей strtok Добавлено в Вообще, к строке добавить NULL - это нечто непонятное. Можно добавить например нулевой символ... |