c - 使用系统调用读取 "space"[在 Unix 中使用 C]

标签 c unix system-calls

我基本上希望我的程序询问我“按空格继续或按Ctrl-C退出”

但有一个问题,除了系统调用之外我不能使用任何其他东西。我将如何使用 read 调用(或类似的方法)。我已经完成了一个类似的例子,为 Bash 编写了一个脚本,但我无法让它在 C 中工作。

最佳答案

默认情况下,读取 block 会等待数据缓冲区。它可以设为非阻塞,但最简单的方法是一次读取一个字节。您向其传递要读入的缓冲区的地址和缓冲区的容量,即 char buf[1];读取(0,buf,1); if (buf[0] == ' ') ...

关于c - 使用系统调用读取 "space"[在 Unix 中使用 C],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28400654/

相关文章:

C 系统调用 msgsnd() : invalid argument error on certain compiler versions

c - 如何在 C 中访问正确的全局变量?

c - 将 kmalloc 内存映射到用户空间

unix - AWK - 如果不在数组中

multithreading - pthread健壮的互斥锁有多安全?

c - 通过系统调用以类似矩阵的方式打印结果

c - 给日期加秒

c++ - 声明一个具有 C 调用约定但具有内部链接的 C++ 函数

unix - Go fmt 会自动缩进吗?

node.js - VSCode Glean 扩展错误 -4094 - 这是什么意思?