strlen()とUTF-8

strlen()は長さを返すとあるが、ここでいう長さとはバイト数のこと。
文字数は関係ない。
よって、UTF-8を叩き込むと意図するものと違う値が返ってくることがある。
なぜなら、UTF-8には3バイト文字もあるから。
日本語は大抵3バイト扱い。
やっかいだぜ・・・。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です