[英]How to remove entered letters/strings or any inputs
我已經用C編寫了一個hangman程序。我也已經開始使用C ++進行編碼。 我的游戲要求輸入一個單詞(字符串),然后輸入,然后出現hangman屏幕。 但是因為我之前輸入過單詞,所以我們可以通過按UP箭頭鍵進行作弊並查看以前的輸入。 有什么辦法可以從記錄中刪除先前輸入的單詞? (在Windows上)也請告訴我有關這些類型的事物的特定術語,謝謝;
在Windows Vista / Server 2008或更高版本上,將SetConsoleHistoryInfo
的歷史記錄緩沖區大小設置為0。 不確定其他平台。
另一種方法(使用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 );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.