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

2回目の呼び出しで、次のようになります。

useEvent() Test ListenPort() got this: A

前の呼び出しからの2つの印刷ステーションと新しい呼び出しからの1つ。これは、2番目に呼び出されるか、そのようなものが作成されるまで、どういうわけかuseEvent()が実行されないことを意味します。

これ以上のコードは必要ないことを願っていますが、お知らせください。投稿します。

4

1 に答える 1

3

デフォルトでは、stdoutはラインバッファリングされています。ブロックfflush(stdout);の最後に追加します。if

于 2013-03-08T08:45:00.123 に答える