如何在Linux Ubuntu下用多输入文本测试C程序?
解决Ubuntu下C程序读取文本文件输入的问题
当然可以!在Linux终端里有几种非常简便的方法,能让你的C程序直接读取.txt文件里的输入数据,完全不用手动敲入。下面是两个最常用的方案:
1. 输入重定向(推荐)
这是最直接的方法,利用Shell的输入重定向功能,把程序的标准输入(原本是键盘)替换成目标文本文件。你的C程序不需要做任何修改,用scanf()、fgets()这类常规输入函数就能正常读取文件内容。
假设你已经把C程序编译成可执行文件my_c_program,输入数据文件是input_data.txt,只需要在终端执行:
./my_c_program < input_data.txt
2. 管道结合cat命令
如果你习惯用管道操作,也可以用cat命令读取文件内容,再通过管道|把内容传递给你的C程序。效果和重定向一致,适合需要先对文件内容做简单预处理(比如过滤特定行)的场景。
命令格式如下:
cat input_data.txt | ./my_c_program
额外小提示
如果之后你需要让程序同时处理文件输入和手动输入,或者想更灵活地控制输入源,也可以修改C程序,让它支持通过命令行参数指定输入文件路径(比如用fopen()打开指定文件),不过就你当前的需求来说,上面两种终端命令的方法已经完全够用了。
内容的提问来源于stack exchange,提问作者Nejc Ahtik
相关产品推荐
相关产品推荐

