2016-05-08 17 views
5

Düzenleme ile birlikte C++ dizesinde hangi işlevi dize olarak düzenler? gerekli olan fonksiyonun çalışmadan sonra enter image description hereDize düzenleme becerisi ile

Bunu görmek istiyorum:

enter image description here

ama bu değil:

enter image description here

+0

Standart işlevselliği kullanarak bunu gerçekleştirmenin yolu yoktur. Sanırım, Windows'da herhangi bir konsol işlevi yoktur (https://msdn.microsoft.com/en-us/library/windows/desktop/ms682073 (v = vs.85) .aspx) resimlerinize göre istiyorum. Anahtarları ele alır ve düzenlerseniz standart komut istemiyle yapamazsınız. –

+0

CMD, konsolu kullanan bir programdır. Konsol değil. Lütfen CMD etiketlerini, sorunuzun CMD ile ilgisi olmadığı için kaldırın. –

+0

Anahtarları sizin için bastıran bir program oluşturabilirsiniz, cmd penceresinin –

cevap

2

Bu doğal yapılamaz Ben konsolun böyle devlet var Terminalde kontrol akışınızda yapmanız gerekir.

Küçük bir örnek

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" tahribatsız GERİ. Yani imleci geriye doğru hareket ettirir ama silmez. "\b \b", yıkıcı arka boşluktur.

+0

olmasına rağmen odaklanması gerekir. Bu, kullanıcının görüntülenenleri düzenlemesine izin verebilir, ancak geri döndüğünde giriş olarak gönderilmez. – Barmar

+0

@Barmar Ona bir örnek gösterdim, OP dizeyi ekleyerek ve silerek kullanabilir. Kodu düzenledim. –