2016-05-08 8 views
5

C++のどの機能が文字列をコンソールに入れ、能力の編集はできますか? Iコンソールのような状態を持っている:それはネイティブに実行することはできません能力を編集してコンソールに文字列を入力

enter image description here

+0

標準機能を使用すると、それを作る方法はありません。私はWindows上にコンソール機能がないと思っています(https://msdn.microsoft.com/en-us/library/windows/desktop/ms682073(v = vs.85).aspx)。あなたのイメージに合わせて欲しい。キーを操作して自分自身を編集するのであれば、標準プロンプトではできません。 –

+0

CMDはコンソールを使用するプログラムです。それはコンソールではありません。あなたの質問はCMDとは関係がないので、CMDタグを削除してください。 –

+0

あなたのためにキーを押すプログラムを作ることができますが、cmdウィンドウにはフォーカスが必要です –

答えて

2

enter image description here

ではなく、この:enter image description here

必要な機能の仕事の後、私はこれを見てみたいですターミナルでは、あなたのコントロールフローでそれを行う必要があります。

少し例

string text("Hello, World") 
cout << text; 
char x = getch(); 
while (x != '\n') {    //loop breaks if you press enter 
    if (x == 127 || x == 8) { //for backspace(127) and delete(8) keys 
     cout << "\b \b";  //removes last character on the console 
     text.erase(text.size() - 1); 
    } 
    else { 
     cout << x; 
     text.append(x); 
    } 
    x = getch(); 
} 

"\b"非破壊バックスペースです。カーソルを後ろに移動させるが、消去しない。 "\b \b"は破壊的なバックスペースです。

+0

これはユーザーに表示内容を編集させるかもしれませんが、復帰時には入力として送られません。 – Barmar

+0

@Barmar私は彼に例を示しました。OPは、追加および消去によって文字列を操作できます。コードを編集しました。 –

関連する問題