C++ Receive收到数组后,如何分解元素显示

来源:百度知道 编辑:UC知道 时间:2024/05/08 00:53:15
发送数据:
struct for_Login
{
unsigned int iLen;
char sSrc[10];
}sendbuf;

sendbuf.iLen = 18;
strcpy(sendbuf.sSrc, "Hello");

send(MainSock, (char*)&sendbuf, sizeof(sendbuf), 0);
接收:
char nN;
char ReBuffer[10];
nN =Receive(ReBuffer, 10);

printf("显示:%s\n",ReBuffer[1]);
为什么ReBuffer[1]是NULL呢?帮帮

楼主的代码片段显示:发送的内容是结构变量sendbuf,而接收时缓冲区为字符串变量ReBuffer。而程序片段中输出的内容是字符串变量ReBuffer中第二个字符ReBuffer[1]的值。由于发送的内容中第二个字符为0,所以输出的ReBuffer[1]值为NULL。

感觉没问题呀。是不是send(MainSock, (char*)&sendbuf, sizeof(sendbuf), 0); 的sizeof(sendbuf)有问题