C言語再認識:Visual Studioのきめ細かいチェック | 技術日誌

技術日誌

ここでは,電子工作,木工などの趣味での記録を書いています。
なお当初はKMK研究所のメインテーマであるSPSのノウハウを書いてきましたが,順次SPSノウハウのページに複製を作っていきます。

 最新のVisual Studioで驚かされることがまたありました。「チェックがきめ細かい」ということです。C++でファイルを扱うにはまずファイルをopen(fopen_s)してファイルのポインタ(下の例ではinfp)を得ます。その後はそのポインタを用いて読み込んだり書き込んだりします。ここで,openが失敗した場合の処理を行わないでファイルを操作(ここではfgets)するプログラムを書いてみました。すると,fgets, fcloseなど,infpを使っている行に緑の波線が付きました。そして,そこにカーソルを持っていくと,波線を引いた理由がポップアップしました。「infpが0の場合もあるよ(その場合にはまずいよ)」というメッセージが現れるのです。試しに,「infpが0だったらこれこれする」という行を入れたところ,波線は消えました。変更はfopen_sの行でなくてもシステムはきちんと判別できるのです。以前のVisual Studioではそこまでのきめ細かさはなかったと思います。進化しています。