c++ - 关于STDIN STDOUT STDERR的问题

标签 c++ statistics stream file-descriptor

我正在用 C++ 设计一个 MIPS 模拟器,我的简化操作系统必须能够偶尔运行 stat()(当在我的模拟器上执行的程序需要输入或输出或其他东西时。)

问题是,我需要能够断言 STDIN、STDOUT 和 STDERR 作为 stat "stat("stdin",buff)"的参数,其中 buff 是指向插入点的指针,对于返回的结构数据,在内存中。实际上,我将使用 fstat(),它使用文件描述符指向要统计的文件。我的简单操作系统中的文件描述符表为 stdin、stdout 和 stderr 保留了 0、1 和 2。我对 STDIN 等是什么感到有点困惑。它们是流,我知道,它们是在 stdio.h 中定义的,但是我究竟如何获得一个统计结构,其中包含每个流的文件的所有相关信息?

最佳答案

在 POSIX 系统上,您可以使用 fileno()FILE*(例如 stdinstdout, stderr) 到一个整数文件描述符。该文件描述符可以发送到 fstat()

关于c++ - 关于STDIN STDOUT STDERR的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3505525/

相关文章:

c++ - 在 C++ 中修改后修复文件权限?

iphone - iphone 有什么好的统计可视化库吗?

mysql - SQL:找出响应时间的最大百分比变化

c++ - 如何通过 C++ 将 Unicode 字符串写入 UTF-8 BOM 文件?

node.js - 使用 Node 流时内存不足

c++ - 二维数组中的值未正确分配

c++ - 重置字符串流

algorithm - 我如何计算 "true"仍然是多少?加权投票与他们发生的时间?

c++ - 显式指定要写入 std::ostringstream 的指定字符串

c++ - Codility MinAbsSum