gpt4 book ai didi

c - ANSI C 中的无缓冲 I/O

转载 作者:太空狗 更新时间:2023-10-29 17:01:21 25 4
gpt4 key购买 nike

为了教育和编程实践,我想编写一个简单的库来处理原始键盘输入,并“实时”输出到终端。

我想尽可能地坚持使用 ansi C,我只是不知道从哪里开始这样的事情。我已经进行了多次谷歌搜索,99% 的结果都使用了库,或者是针对 C++ 的。

我真的很想让它在 Windows 中运行,然后在我有空的时候将它移植到 OSX。

最佳答案

尽可能坚持使用标准 C 是个好主意,但仅使用标准 C 无法完成您采用的任务。从终端一次获取一个字符的机制本质上是特定于平台的.对于 POSIX 系统 (MacOS X),查看 <termios.h> header 。较旧的系统使用各种各样的 header 和系统调用来实现类似的效果。您必须决定是否要进行任何特殊字符处理,记住“行终止”之类的内容可能会出现在行尾并删除目前输入的所有字符。

对于 Windows,您需要深入研究 WIN32 API - Unix 和 Windows 之间的代码基本上没有共同点,至少在您将“终端”置于逐个字符模式的地方。一旦您获得了读取单个字符的机制,您就可以管理通用代码 - 很可能。

此外,您还需要担心字符和按下的键之间的差异。例如,要在 MacOS X 上输入“ï”,您可以键入 option-ui。这是三个按键。

关于c - ANSI C 中的无缓冲 I/O,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1647927/

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