strlwr と _strlwr / strupr と _strupr

タイトルのように、引数に指定した文字列を 小文字 / 大文字 にするための関数として

  • strlwr / _strlwr
  • strupr / _strupr

が居ることに気づきました…って、C標準関数 と Microsoft拡張関数の2種類…? いやでも挙動一緒臭いし、引数も一緒だし標準にあれば MS もわざわざ用意する必要も無いんじゃねぇの!? それとも Microsoft は我々プログラマに何か罠を仕掛けているのか…ッ!? クソッッ!!








Visual C++ 2005 では、これらの POSIX 関数は使用しないでください。代わりに ISO C++ 準拠の _strlwr、_wcslwr、_mbslwr、_strlwr_l、_wcslwr_l、_mbslwr_l またはセキュリティが強化された _strlwr_s、_strlwr_s_l、_mbslwr_s、_mbslwr_s_l、_wcslwr_s、_wcslwr_s_l を使用してください。

Download Visual Studio 2005 Retired documentation from Official Microsoft Download Center

いえっさー!



strlwr (そして strupr も) 標準だけど標準じゃないという微妙な立ち位置っぽいですね。 …ってまぁ、WinXP から POSIX 関連に消極的ベクトルになってるからなぁ。



よい子は、アンスコ版を使うべし。ちぃ覚えた!

そもそもこんな関数の出番がないよね。

トン!