我可以在没有键盘的情况下访问标准输入吗?

标签 c linux keyboard stdin

我用gcc编译了下面的代码

int main() {

  int a = 0;

  fprintf( stdin, "%d", 123 );
  fscanf( stdin, "%d", &a );
  printf( "%d\n", a );

  return 0;
}

在我的期望中,程序应该直接执行(即程序从不暂停并等待用户输入)。但它仍然停止,等待我的输入。

我想知道当我尝试向 stdin 写入一些内容时会发生什么,以及如何修改这段代码并且它可以直接执行?

最佳答案

stdin 仅用于输入,stdout 用于输出。 (4566976 的回答向您展示了当您尝试输出到 stdin 时会发生什么)例如参见 glibc documentation on standard streams

(简而言之,写入 stdin 完全没有意义)

关于我可以在没有键盘的情况下访问标准输入吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32547384/

相关文章:

带有 UITextView 的 iPhone 键盘

javascript - 如何在输入字段顶部移动虚拟键盘?

C argv[2]++ 与 (char*)argv[2]++?

c - 调整终端大小时 Ncurses 程序退出

linux - 自动采购许可证

ios - 是否可以在没有键盘的情况下选择 UITextField?

计算CUDA中两个三角形之间的角度

c - 过滤器 c 注释的正则表达式

linux - 如何在全局公开一个 url

php - 使用php命令杀死进程