2

このコードが現在の時刻を 1 秒ごとに出力しない理由がわかりません。ここで何が問題ですか?

#include <stdio.h>
#include <unistd.h>
#include <time.h>


int main(int argc, const char * argv[])
{
    while (1) {
        sleep(1);
        time_t tm;
        struct tm *t_struct;
        tm = time(NULL);
        t_struct = localtime(&tm);

        printf("%.2d:%.2d:%.2d", t_struct->tm_hour, t_struct->tm_min, t_struct->tm_sec);
    }
    return 0;
}
4

1 に答える 1

11

stdout行バッファリングされる可能性があるため、fflushテキストを出力した後に変更するか、改行を出力して変更を表示する必要がある場合があります。

于 2012-08-14T16:43:40.190 に答える