gpt4 book ai didi

c - C 如何在不更改为 CR LF 的情况下将 LF 输出到标准输出?

转载 作者:可可西里 更新时间:2023-11-01 13:18:10 25 4
gpt4 key购买 nike

在 Windows 上

#include <stdio.h>

int main() {
putc('A',stdout);
putc('\r',stdout);
putc('\n',stdout);
}

输出

A<CR><CR><LF>

如何在不自动转换为 CR LF 的情况下将 LF char 写入标准输出?

我需要它来将简单的套接字流读取器转换为标准输出。我试过 CodeGear 的 bcc32、mingw、tinycc 都产生相同的结果,将 putc 更改为 putchar、fputc、fwrite 也无济于事。

最佳答案

MSVC 的解决方案是:

#include <io.h>
#include <fcntl.h>
...
_setmode(1,_O_BINARY)

其他运行时可能会提供 C99 解决方案或替代方法。编辑:我相信 setmode([file number],O_BINARY) 起源于 Borland Turbo C,其他用于 MS-DOS 和 Windows 的编译器模仿了它。 _ 前缀用于保持命名空间干净,某些编译器可能不存在。

关于c - C 如何在不更改为 CR LF 的情况下将 LF 输出到标准输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5813301/

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