如何在用户输入^ X之前读取输入

时间:2010-05-24 07:52:54

标签: c++ string input newline

我正在为我的esolang创建一个解释器,我需要用户输入一些文本,然后将其解释为INTERCAL程序。我希望用户输入文本,其中可能包含任何字符,包括换行符,直到用户按下^ X(Ctrl-X),如下所示:

Enter your code followed by ^X:
Bla
Blablabla
Bla^X
Thank you for entering your code

(用户输入第2,3和4行)

任何人都可以解释我如何在用户输入^ X之前读取包括换行符在内的输入?谢谢

2 个答案:

答案 0 :(得分:1)

^ X有ASCII码24,请尝试检查。

http://www.unix-manuals.com/refs/misc/ascii-table.html

答案 1 :(得分:1)

最好让用户使用^ D. 在大多数系统上,这会生成EOF字符并导致流关闭。

因此,您不需要做任何特别的事情 您只需读取直到输入流结束。因此,对于读取标准输入和从文件读取,您的代码可以完全相同。