所有,我設計一個key-value服務器,當我寫的客戶端,我發現了一個很奇怪的東西,看到了簡化代碼:關於在unistd.h中讀()(C++)
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(),但我無法解釋它
很好的解釋。 – 2011-12-18 06:16:08
非常感謝,這很有幫助 – Flypig 2011-12-18 07:06:09