[セキュリティ]破られにくいパスワードを作るコツ (今日の仕事のコツ ver2.0):NBonline(日経ビジネス オンライン)
なるほど、こういう方法もあったか。
[プログラム][ゲーム]4Gamer.net ― プログラマー必見。あの「シムシティ」のソースコードが公開(シムシティ ソサエティーズ)(from:Twitter)
これはいいですね。あー、本当にプログラムしばらくいじってないなぁ…。
[プログラム][迷信] fflush で入力バッファをクリア | 株式会社きじねこ
それは使ってて思いましたねぇ…。WindowsやらMacやら大多数のUNIX/Linuxやらは普通にクリアできたりするんですが、環境によってはそうじゃない場合がある。これはこの迷津を信じていた身としてはなかなか衝撃的でしたよ。仕様をちゃんと知るって大事なんだな、と思った瞬間です。
じゃあ、どうしたらいいのか?
元記事では
入力バッファをクリアするための移植性がある確実な方法は、規格では定義されていません。また、setbuf 関数や setvbuf で入力ストリームをバッファリング無しに指定したとしても、既に入力されてしまったデータを取り消すことはできません。
結局のところ、移植性を保ちながら確実に入力バッファをクリアするには、必要なだけ空読みするしかなさそうです。
と言われてます。入力バッファをクリアしてくれるような関数がC99の時に増えてもよかったんじゃないかなぁ…と、無い物をねだってもしょうがないので代わりの方法を探してみた。
scanfの危険性とかそういう事が書いてあるページなんですが、後ろの方で「stdin クリアの手法」が書かれています。
でもって紹介されてる関数がこちら
ANSI-C によるコンソールからの入力手法(我流)
文字や数値の読み込み関数を作って公開されています。クリアだけしたいって言う人は自分で読み解いてみてください。そんなに難しくは無いと思うので。
しかし、元記事のサイト面白そうだなー。