gpt4 book ai didi

c - 从文件输入(使用命令行),然后正常的 stdin 键盘输入 (C)

转载 作者:行者123 更新时间:2023-11-30 16:24:51 25 4
gpt4 key购买 nike

是否有可能使用以下命令使用 *.txt 文件作为某些内容的输入 -

a.out<input.txt

然后使用用户的正常输入?

最佳答案

一种选择是使用:

$ ./a.out input.txt     # No shell I/O redirection

然后,您打开(每个)命令行参数进行读取、读取并关闭它。完成后,您可以从 stdin 读取数据,直到 EOF。

在类 Unix 系统上,您还可以支持:

$ ./a.out < input.txt   # Shell I/O redirection

从标准输入读取到 EOF,然后执行以下操作之一从键盘读取:

  • 打开 /dev/tty 并从中读取。
  • 打开 /dev/tty 并将其复制到 stdin (freopen())。

也有一些不太符合犹太教规的可能性;一种是使用标准输出或标准错误文件描述符作为输入文件描述符,使用fdopen()。如果流连接到终端,这通常会起作用。启动 shell 的经典方法是打开/dev/tty 进行读写,然后将读/写描述符复制到标准输入、输出和错误。如果输出通过管道传输到另一个程序,或重定向到一个文件,当然这是行不通的。您可以使用 istty() 来检查文件描述符是否与终端关联。

可能还有其他方法可以做到这一点 - 如果您使用的是 Windows,则可以采用不同的方法。

就我个人而言,我会选择“将命令行参数读取为文件,然后读取标准输入”选项,但是 YMMV。

关于c - 从文件输入(使用命令行),然后正常的 stdin 键盘输入 (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53573795/

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