ここで私の状況では、アプリケーションのユーザーは、アプリケーションを起動するためにパスワードを入力するよう求められます。パスワードを取得するには、次を使用します。
char c;
std::string password;
while ... // until the end of entry
{
c = fgetc(stdin);
password += c;
}
パスワードがチェックされたら、変数を破棄して、プログラムのコア イメージを使用して取得できないようにします。たとえば、誰かが「gcore」コマンドを使用して、生成されたコアでパスワードを検索しても、それは見つかりません。
しかし、私の場合、まだ標準入力バッファーにあるように見えるため、パスワード値を取得できます。
だから私の質問は、ユーザーが入力した値をメモリで使用できなくするために、標準入力バッファをクリアするにはどうすればよいですか?
私がすでに試した情報については、fflush、__fpurge、fwrite(標準入力ストリームの最初の位置から)...そして何も機能していないようです。
前もって感謝します。