【发布时间】:2012-04-28 01:10:52
【问题描述】:
我必须根据这些规则读取输入:
“输入由几行文本组成。有些行可能是空的。输入可以从文件中提供,使用诸如
prog.exe < input.txt之类的行,在这种情况下,操作系统会适当地指示输入的结尾. 如果您使用键盘输入输入,通常有一种方法可以用某个控制键表示输入结束,具体取决于操作系统(例如,Unix/Linux 风格系统中的 Ctrl+d , 和 Ctrl+z 在 Microsoft 系统中)。”
以前我一直是这样做的
while(getline(cin, data)) {
if(data == "0") break;
/ * do stuff */
}
所以我可以读取任意多的行并进行计算,然后当我完成后只需键入一个 0 并结束我的程序。我尝试在 .txt 文件中每行输入一个内容列表,然后调用program.exe < myfile.txt,但什么也没发生。
< file.txt 在做什么?
这样调用我的程序时如何正确处理其中的内容?
当你点击 ctrl+z 时,我怎样才能让它计算?
【问题讨论】:
-
例如,如果在 Windows 中发出命令
dir,它将列出当前目录的内容。发出dir > thisDir.txt会将输出重定向到指定的文本文件。这个逻辑可以用来回答你的部分问题。