如何使用C程序读取命令行输入
如何使用C程序读取命令行输入。
通过命令行输入,我不是指命令行参数!如何使用C程序读取命令行输入
例如: *我有一个文本文件'inputfile.txt'与几行名称。
*假设我的程序名是names.exe。
* I必须运行使用利用以下命令视窗的命令行程序:
C:> names.exe < inputfile.txt
感谢。
这就是重定向标准输入,所以在你的程序中你根本不做任何特别的事 - 你只需从标准输入读取数据并写入标准输出。如果用户重定向了这些,那就这样吧。
阅读从stdin
FILE*
。
我想从文件读取,我必须使用文件名作为参数。但我描述的方式是不同的。命令行将该文件的内容发送到names.exe程序。 – 2010-10-11 17:24:27
我想你需要重读我写的东西。 – 2010-10-11 17:25:08
可能你是对的,但我从Jerry Coffin的回答中了解了这个想法。谢谢。 – 2010-10-11 17:44:48
对于您的示例,输入将出现在标准输入上。只需使用fread
或fgets
即可。
谢谢,我要去试试。 – 2010-10-11 17:24:51
指示系统用文件描述符替换标准输入文件描述符为inputfile.txt。所以只需像标准一样从标准输入读取。
谢谢杰里。你的回答让我意识到该怎么做。 – 2010-10-11 17:45:33
我刚刚使用scanf,或得到。那是我想要的。 – 2010-10-11 17:47:51
相信我,'得到'是*不*你想要的 - 永远。 'scanf'没问题,但是即使当你从标准输入读取数据时,你也想使用'fgets'而不是'gets' - 并且让你指定一个文件,它可以让你指定缓冲区的大小你正在阅读。使用'gets',您无法将数据限制为您分配的空间量。 – 2010-10-11 18:08:33