【发布时间】:2018-08-03 12:41:05
【问题描述】:
通常在控制台中显示的 c/cpp 字符串只允许用户在其后键入。
有没有简单的方法让用户在输出字符串的中间输入,例如填空:
____先生是老师。
std::cout 可以很方便地打印出来,但是如何让用户用简单的代码直接在空白处输入并阅读呢?例如如果名称很长,将打印的字符向右移动?
【问题讨论】:
-
没有“C/C++”这样的语言。请选择一个,答案会有所不同。
-
标准 C++ 没有办法做到这一点。
-
你真的在看 3 个单独的字符串。第一个字符串是固定的。第二个字符串是用户输入的。第三个字符串在内容上是固定的,但在位置上是固定的。您可以使用 curses 或 ANSI 转义序列来处理实际显示
-
C 和 C++ 之间的一个区别是 C++ 有
std::string类型,它为您管理内存,您可以查询它的长度。 C 语言只有字符数组,如果数组不是由 nul 字符终止,则会遇到未定义行为。因此,请使用您使用的单一语言编辑您的标签。