如何删除input的字母/string或任何input

我用C语言编写了一个hang子手程序。我也开始编写C ++。 我的游戏要求input一个单词(string),然后input并出现hang子手屏幕。 但是因为我之前input过这个单词,我们可以通过按上箭头键来查看以前的input。 有没有办法从logging中删除以前的input单词? (在窗口)请告诉我任何具体的条款,如果有这些types的东西,谢谢;

在Windows Vista / server 2008或更高版本上使用历史记录缓冲区大小为0的SetConsoleHistoryInfo 。 不确定其他平台。

另一种方法(除了使用SetConsoleHistoryInfo之外)是用getch()来实现程序的输入 – 根本不会有历史记录。

例:

 const int bufferSize = 2048; wchar_t buffer[bufferSize]; memset( buffer, 0, sizeof(buffer) ); printf( "\nEnter string:\n" ); int charsEntered = 0; while(1) { wchar_t ch = _getch(); if( ch == L'\r' ) { break; } else if( ch == 8 ) { if( charsEntered == 0 ) { continue; } _putch( ch ); _putch( L' ' ); _putch( ch ); charsEntered--; } else { buffer[charsEntered++] = ch; _putch( ch ); } } wprintf( L"\nString: %s", buffer );