使用 printf 并一起写

using printf and write together

我想明白为什么当我执行这段代码时

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

int main()
{
    write(1, "6", 1);
    printf(" | ");
    write(1, "6", 1);
}

我得到这个输出

66 | %

而不是

6 | 6%

即使在 printf 之前和之后睡眠也无法解决问题。 谢谢

试试 fflush(stdout); 缓冲文件 I/O 以提高性能。 Fflush 将缓冲区写出。两者混用还是有惊喜的,所以不推荐。