让用户输入字符串(c/c ++)的中间?

use*_*870 0 c c++ console

通常,控制台中显示的c/cpp字符串只允许用户在其后键入.

有没有简单的方法让用户输入输出字符串的中间,例如填空:

____先生是老师.

std :: cout可以轻松打印,但是如何让用户直接在空白处输入简单的代码并阅读它?例如,如果名称很长,则将打印字符向右移动?

小智 11

你正在寻找控制台/终端.您询问的这两种语言都没有任何概念 - 它们都只知道输入和输出.这是一个简单的抽象,输入和输出是按字符顺序完成的.输入不必来自键盘,输出不必是屏幕或终端......

控制屏幕内容与平台有关.如果你在Windows上,windows API提供了许多用于控制控制台的功能.

如果你想跨平台做一些事情,请看看curses.有许多平台的实现,例如ncurses(通常在*nix系统上使用)和pdcurses(对于Windows非常好),它们都提供相同的接口.

要了解curses编程,NCURSES Programming HOWTO是一个好的开始.只需替换为#include <ncurses.h>,#include <curses.h>所以您的代码不是专门绑定,ncurses但适用于任何curses实现.