Как удалить последний символ, помещенный в std :: cout? - PullRequest
26 голосов
/ 19 сентября 2010

Возможно ли это в Windows без использования WinAPI?

Ответы [ 3 ]

71 голосов
/ 19 сентября 2010

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

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

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

Таким образом, результат будет

H

3 голосов
/ 19 сентября 2010

Нет.

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

2 голосов
/ 12 апреля 2018

Этот код точно соответствует std::cout<<"\b \b";

...