0

我正在尝试调用一个似乎不起作用的函数。所以我添加了一些 printf() 这就是结果。

if (rc > 0) {
            bzero(buffer,256);
            n = read(sockfd,buffer,255);
            if (n < 0) 
                 error("ERROR reading from socket");
            printf("ListenPort() got this: %s",buffer);
            useEvent("maybe this works"); //ONLY a print statement.
            printf("Test");
        }

在第一次调用这个函数时,我只得到:

ListenPort() got this: A

在第二个电话我得到:

useEvent() Test ListenPort() got this: A

来自先前调用的两个打印语句和来自新调用的 1 个。这意味着直到第二次调用或类似的东西,useEvent() 才会以某种方式运行。

我希望您不需要更多代码,但请告诉我,我会发布它。

4

1 回答 1

3

默认情况下,标准输出是行缓冲的。fflush(stdout);在块的末尾添加if

于 2013-03-08T08:45:00.123 回答