2010-09-19 3 views

ответ

60

Вы не можете удалить последний символ.

Но вы можете получить аналогичный эффект, перезаписав последний символ. Для этого вам нужно переместить курсор консоли назад, выведя символ '\ b' (backspace), как показано ниже.

#include<iostream> 
using namespace std; 
int main() 
{ 
    cout<<"Hi"; 
    cout<<'\b'; //Cursor moves 1 position backwards 
    cout<<" "; //Overwrites letter 'i' with space 
} 

Так что выход будет

H

+9

+1, я никогда не знал, что это может сработать. – Puppy

+3

Вы должны быть осторожны, чтобы cout не решался 'flush' сам до того, как было вставлено backspace. – rubenvb

+3

Я не могу стереть новую строку с помощью этого метода. – trusktr

5

No.

Вы не можете без доступа к API в консоли, которая никогда не бывает стандартной.