Я начинающий программист. У меня проблема, как показано ниже,
void SockSend()
{
char *sendbuf;
int sendsize; /* send data size(variable size)*/
int iPos = 0, iTotSize;
char hdr;
char *data = "ABCDEFGHIJKLMNO"; /* its just example, data can be any thing */
sendsize = strlen(data);
hdr = '\0'; /* header character */
sendbuf = (char*)malloc(sendsize + 2);
sendbuf[iPos] = hdr;
iPos++;
strncpy(sendbuf + iPos, data, 15);
iPos += sendsize;
sendbuf[iPos] = '\0'; /* append null at end of string*/
iTotSize = strlen(sendbuf);
send(sockid, sendbuf, iTotSize, 0);
}
Как и в приведенном выше коде, мне нужно отправить данные с присоединенным символом заголовка.
если символ заголовка ascii находится между 1h - ffh, отличный от 0h, работает правильно.
Я знаю, что если в строку добавляется ноль, он считается концом строки.
Но мне нужно отправить NULL символ с данными через сокет.
Может кто-нибудь, пожалуйста, помогите мне, как решить эту проблему.
Заранее спасибо