gpt4 book ai didi

c++ - 如何在 cout 上使用 isatty(),或者我可以假设 cout == 文件描述符 1?

转载 作者:IT王子 更新时间:2023-10-29 00:38:46 27 4
gpt4 key购买 nike

好吧,基本上,主题说明了一切。

我有一个命令行实用程序,可以使用管道或 i/o 重定向以交互方式或在脚本中使用。我正在为 i/o 使用 cincout,如果输出是控制台,我想在最后写一个额外的 EOL,这样用户提示将从下一行。在脚本中,这将是有害的。

我可以假设 cin == 0, cout == 1 吗?我知道没有干净的方法来获取流的文件描述符。或者是?

最佳答案

如果使用 Linux(可能还有其他 unix,但绝对不是 Windows),您可以尝试 isatty .

没有从 C++ 流中提取文件描述符的直接方法。但是,由于在 C++ 程序中 cout 和 stdout 都是同时存在和工作(C++ 默认情况下提供 stdio 和 iostream 方法之间的同步),在我看来你最好的选择是做一个 isatty(fileno(stdout)) .

确保你#include <unistd.h> .

关于c++ - 如何在 cout 上使用 isatty(),或者我可以假设 cout == 文件描述符 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5156675/

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