关于unistd.h中的read()(C ++)

时间:2011-12-18 06:03:15

标签: c++ unistd.h

所有,我正在设计一个Key-Value服务器,当我编写客户端时,我发现了一个非常奇怪的东西,请参阅简化代码:

while(1)
{
    printf("->:");
    read(STDIN_FILENO, buf, sizeof(buf));
    write(client_sock, buf, sizeof(buf));
    int m = read(client_sock, buf, sizeof(buf));
    buf[m] = '\0';
    printf("%s", buf);
}

当我运行程序时,它首先要求输入,所以我输入了一些内容,但没有任何反应! (当我使用其他客户端时,服务器运行良好,并且很好地回应了一些东西)

然后我只改变了一行代码:

printf("\n->:");

然后它运行良好!为什么?为什么“\ n”可以改变输出?我猜它可能是read(),但我无法解释它

0 个答案:

没有答案