我是C的新手,我正在尝试编写一个简单的聊天室,而我遇到了scanf()函数的问题。以下是相关代码:
while(1)
{
printf("2");
//Now sending message to server
bzero(buffer, 256);
printf("3");
scanf("%255s", buffer);
printf("3");
n = write(sockfd, buffer, strlen(buffer));
if (n < 0)
{
perror("Error writing to socket");
exit(1);
}
printf("3");
//Print server response
bzero(buffer, 256);
n = read(sockfd, buffer, 255);
if (n < 0)
{
perror("Error reading from socket");
exit(1);
}
printf("4");
printf("I got sent %s\n", buffer);
}
return 0;
第一次通过它将消息发送到服务器并收到消息。但是,第二次它挂在scanf语句上,好像scanf语句在收到换行符时不会停止读取。任何帮助都会非常感谢,谢谢!