为了账号安全,请及时绑定邮箱和手机立即绑定

C语言重定向输入

C语言重定向输入

C
慕丝8101519 2018-04-10 17:47:49
为什么输不出word中的内容(word文档中是一段英文,开头就是字母)
查看完整描述

2 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

可是 < 才是重定向输入啊!   手误了吧...

查看完整回答
反对 回复 2018-04-10
  • 慕丝8101519
    慕丝8101519
    确实弄错了。。。不过重新输了以后还是没有输出, 区别是按enter的时候不会一直是空格,而是就像执行完成了一样,
  • onemoo
    onemoo
    额,没懂“按enter的时候不会一直是空格,而是就像执行完成了一样”这句是什么情况
  • 慕丝8101519
    慕丝8101519
    就像是输出的不是word文档里面的东西,是空格。
点击展开后面9
?
onemoo

TA贡献883条经验 获得超454个赞

啊...之前我想让你反复确认 word.txt 中是否有内容,原来你不是去到执行目录下确认的啊! 怪不得呢。

那么你这“一套操作”的结果就很有意思了:你的执行目录下后来应该有这个 word.txt 文件,并且其中只有数行空行。

这是因为:你第一次错误地用了 > 的那次命令,会把输出都重定向到 word.txt 文件中(不存在的话会创建它)。同时因为没有重定向输入,也就是会从键盘接收输入。所以你执行那条 ">" 命令后会发现程序啥也没输出、也没结束,其实它是在等你输入。如果你当时乱按了回车键,这些就都会保存到新创建的 word.txt 中了。

你之后再执行 "...< word.txt" 命令,等于是把之前新建立的 word.txt 中的内容都输出了。所以你最终只会看到打印了“几个空行”

查看完整回答
反对 回复 2018-04-22
  • 慕丝8101519
    慕丝8101519
    为什么觉得这套操作突然很有意思?! 哈哈 对对对 这套操作之后有一次我在默认目录下面打开word.txt 发现弹出来一个有几个空格的文档,我在那个文档打字母的话,再做原来的操作就发现输出的是我刚刚打进去的东西,突然感觉不对劲但是没想到是位置问题。
  • onemoo
    onemoo
    哈哈,我说有意思是因为:如果你一开始没有错输 >,就会直接看到系统报“找不到文件”之类的错误,那么你一开始就能知道出错了。 可你手误之后没有直接导致错误提示,反而是程序执行了。但这样的执行结果完全你的意料之外,所以才搞得你更糊涂了。
  • 慕丝8101519
    慕丝8101519
    是的是的 真的非常感谢你了!
  • 2 回答
  • 0 关注
  • 1700 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信