gpt4 book ai didi

c - 输出有何不同?

转载 作者:行者123 更新时间:2023-11-30 20:02:19 25 4
gpt4 key购买 nike

#include <stdio.h>

int main()
{
printf("If I had more time, \n");
write(STDOUT_FILENO, "I would have written you a shorter letter.\n", 43);
return 0;
}

根据标准输出是重定向到终端还是磁盘文件,输出有何不同?

最佳答案

我假设问题是“为什么打印到终端的输出与打印到常规文件的输出不同?”。当 stdout 是 tty 时,它通常是行缓冲的,因此 printf 调用 write 因为您的输出包含换行符。当输出是常规文件时,输出是 block 缓冲的,因此 c stdio 库会延迟写入。在这种情况下,通过 printf 写入的数据直到 main 返回后才会写入,因此数据出现在您通过 write 写入的数据之后的输出中。

关于c - 输出有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19201738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com