gpt4 book ai didi

c - 从标准输出写入文件

转载 作者:太空宇宙 更新时间:2023-11-04 03:36:17 27 4
gpt4 key购买 nike

我正在创建一个 EXE,它与 stdin 和 stdout 流一起使用。

我的可执行文件的输出是将一些压缩数据写入标准输出流。

  int fd = fileno(stdout);
_setmode(fd, O_BINARY);
n = write(fd, buffer, nbytes);

但是当我将那些写入标准输出流的数据重定向到文件时(使用 my_exe get_data > File.txt ),文件中的数据长度将不匹配与原始数据。如果我有 100 个字符的数据,那么在文件中,我看到 106 个字符的数据。我认为一些换行符或回车符被添加到文件中。我已将标准输出设置为二进制流。但是在重定向到文件时,同样发生了。有什么办法可以解决这个问题。

最佳答案

您正在使用 _setmode MS Visual C++ 函数替换已弃用的 setmode。然而,您正在使用已弃用的 filenowrite

请使用_fileno_write

关于c - 从标准输出写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32485291/

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