gpt4 book ai didi

C:键盘和终端输入

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

我只知道如何使用 getchar() 读取 C 语言中的字符,并且 到目前为止,我尽量不去超越 K&R 教给我的东西。所以 我想知道是否有任何方法可以使我的程序更通用,要求用户输入一个或多个值,并且仍然 能够阅读非常有用的内容

c = getchar ()) != EOF 

当我做 1-20 、 1-21 和 1-22 练习时,我意识到我总是 赋予用户无法更改的值,例如:

#define BIG_LINE 16
#define BUFF_SIZE BIG_LINE+2
#define TAB_SIZE 4

等等

Is there a way that I can be able to use

$ ./myprogram < file 

or

$ cat file | ./myprogram

and still ask the user to input one or several values with getchar() in both cases?

最佳答案

没有。您给出的两个示例命令( ./myprogram < filecat file | ./myprogram )都指定程序的标准输入管道将用于读取文件,因此 getchar()只会从该文件中检索字符,并且不能用于获取用户的交互式输入。

也许您应该问一个更一般的问题,例如“是否可以编写一个 C 程序来从文件中读取数据,并提供一个交互式命令行用户界面,其中涉及提示用户并获取响应?”如果这就是您想要做的,您可以使用 C 函数 open()fopen()打开输入文件的句柄,同时仍然使用标准输入管道和 getchar()获取用户的交互式输入。

您需要告诉您的程序要打开的文件的路径。该路径可以在程序中硬编码,也可以来自环境变量,或者可以作为命令行上的参数提供(例如,您可以使用 ./myprogram file 运行它)。

关于C:键盘和终端输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29331995/

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