【发布时间】:2019-01-18 11:50:51
【问题描述】:
为什么“Hello World!!”的大小是只显示为 8? 我正在尝试通过 TCP 客户端/服务器程序中的 send() 发送此内容,但无法发送整个字符数组,因为 sizeof 似乎没有正确读取
char *message = "Hello World!!";
int test = sizeof message;
int test2 = sizeof 'H';
printf("%d", test);
printf("%d", test2);
结果:
(gdb) 打印测试
$1 = 8
(gdb) 打印 test2
$2 = 4
这是我的程序中只发送“Hello Wo”的代码片段
if((numbytes = send(sockfd, message, sizeof message, 0)) == -1){
perror("recv");
exit(1);
}
【问题讨论】: