我正在寻找编写一对实用程序,它们在 stdin 上以换行符分隔的整数列表读取并输出其二进制(4 字节)等价于 stdout,反之亦然。
我的第一个想法是一个简单的 bash/linux 命令可以做到这一点,但我找不到一个。我的第二个想法是在 C++ 中执行此操作,但我不知道如何将 stdin 或 stdout 更改为二进制流。
关于做到这一点的好方法的任何想法?我对任何特定的编程语言都是公正的。
最佳答案
您不需要“将标准输出更改为二进制”,只需向其输出二进制即可。这肯定会混淆例如连接到该流的终端模拟器,但这是意料之中的。fscanf()
的简单循环读取每个整数,后跟一个 fwrite()
写出来应该可行。不过要注意字节序问题,您可能希望单独输出每个字节。
关于text - 二进制标准输入和标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1477196/