我需要通过套接字读取一个整数并将其感知到一个函数。我愿意
strcpy(out,"insert id messagge\n");
if (write(sd_client,out, sizeof(out))==-1){
printf("Error.\n");
}
while ((read(sd_client, &id, sizeof(int)))==-1){ //id is an integer
if(errno!=EINTR){
printf("Error.\n");
exit(-1);
}
}
messaggio2(sd_client, logi, atoi(id)); //atoi(id) try to send int to func
有人可以帮助我吗? :D
最佳答案
read
和 write
的第二个参数是指向数据的指针。
当你说:
write(sd_client,out, sizeof(out))
您正在传递 out 的值。应该是:
write(sd_client, &out, sizeof(out))
此外,我认为您已将 id
声明为 int (这是正确的),那么为什么要将它传递给 atoi
?该函数用于从字符串中解析 int。
关于c - 通过套接字c读取整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6801526/