运维开发网
广告位招商联系QQ:123077622
 
广告位招商联系QQ:123077622

没有键盘我可以访问stdin吗?

运维开发网 https://www.qedev.com 2020-07-05 14:39 出处:网络
我用 gcc编译了下面的代码 int main() { int a = 0; fprintf( stdin, \"%d\", 123 ); fscanf( stdin, \"%d\", &a );
我用 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毫无意义)

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号