【问题标题】:Using fscanf without taking in the input from the file at the moment目前使用 fscanf 而不从文件中获取输入
【发布时间】:2016-09-13 23:35:50
【问题描述】:

好的,我现在想使用 fscanf 而不实际从文件中获取输入。

所以我在想这样的事情

while ( ( fscanf(stdin)) !=EOF) {
 continue...

}

稍后在程序中,我将在另一个函数中使用该信息,我只是想知道这是否可能。

【问题讨论】:

  • 如果您不想读取输入,那么您希望fscanf 做什么?你想完成什么?
  • fscanf(stdin) :这不会编译。
  • 如果你不想要你读的东西,你要找的是 fseek
  • 你不能 fseek 标准输入或类似的,但是...
  • 我错了我需要做什么,我几乎必须继续我的循环直到按下 ctl-d 所以我现在想弄清楚

标签: c file scanf


【解决方案1】:

你不能倒带或窥视标准输入(你可以 ungetc,但它只能保证对一个字符有效),所以你最好的选择是 malloc() 或 realloc() 一行一行的一些内存基础(或任何适合您的)并将您扫描的内容弹出到某个数组中,直到您准备好使用它。

请注意,stdin 也会阻塞 I/O,因此您的程序将停止等待输入,除非您在扫描之间执行某些操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多