質問: strcmp("aaaa", buff)) printf("success!\n"); } ``` ### 補足情報(言語/FW/ツール等のバージョンなど) Ubuntu 16.04 + GCC 以上、よろしくお願いいたします。
回答: `setvbuf`関数により自前バッファを経由させることで、標準出力(stdout)への出力をインターセプトできます。 ``` #include #include #include void hello() { printf("Hello, world!\n"); } int main() { char mybuf[8192]; setvbuf(stdout, mybuf, _IOFBF, sizeof(mybuf)); hello(); assert(strcmp(mybuf, "Hello, world!\n") == 0); fflush(stdout); return 0; } ```