在while循环中出现scanf()问题

时间:2014-04-30 20:59:44

标签: c scanf

我是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语句在收到换行符时不会停止读取。任何帮助都会非常感谢,谢谢!

0 个答案:

没有答案