在Eclipse(MinGW)中使用C语言文件重定向无响应问题求助
解决Eclipse+MinGW环境下重定向命令无响应的问题
问题分析
你的代码逻辑完全正确,这是标准的从标准输入读取、标准输出写入的字符复制程序,问题出在Eclipse内置控制台不支持Shell的输入输出重定向语法(<和>)。直接在控制台输入try_me < infile > outfile时,Eclipse会把整个字符串当作程序的命令行参数传递,而不是交给Shell去解析重定向规则,所以程序没有读取到infile的内容,自然也不会生成outfile。
解决方案
方案1:在外部终端执行程序
- 找到Eclipse编译生成的
try_me.exe文件,默认路径是项目根目录下的Debug或Release文件夹 - 将
infile文本文件复制到该exe所在的目录(或者后续命令中使用文件的绝对路径) - 打开MinGW终端或Windows CMD,切换到exe所在目录:
- MinGW bash中执行:
./try_me < infile > outfile - Windows CMD中执行:
try_me.exe < infile > outfile
- MinGW bash中执行:
- 执行完成后,该目录下会生成
outfile,内容与infile一致
方案2:在Eclipse中配置重定向(无需外部终端)
- 右键你的项目 →
Run As→Run Configurations - 在弹出的窗口中,切换到
Arguments标签页 - 找到
Standard Input and Output区域:- 勾选
File选项,点击Browse选择你的infile作为输入源 - 勾选
Output File,输入outfile作为输出文件名(Eclipse会在项目工作目录创建该文件)
- 勾选
- 点击
Run执行程序,完成后直接在项目目录下查看outfile即可
验证要点
- 确认Eclipse的工作目录正确:在
Run Configurations的Arguments标签页,Working Directory默认是项目根目录,确保infile在该目录下,或者使用绝对路径指定文件位置 - 检查程序编译是否成功,没有报错,确保
try_me.exe是可执行的
内容的提问来源于stack exchange,提问作者Skyeye
相关产品推荐
相关产品推荐

