MW211 EXIT

devlog
C言語/strlen()とsizeof()の違い
2013年04月13日
基本的に「strlen()」で得られる値は、「sizeof()」で得られる値より
「1」だけ小さい(末尾の「\0」一つ分小さい)

┌──────────────────────────────────────┐
│strlen("abc")                                                            →3│
├──────────────────────────────────────┤
│sizeof("abc")                                                            →4│
└──────────────────────────────────────┘

「sizeof()」は末尾の「\0」も含めてカウントする。
逆にいえば「strlen()」は「\0」の手前までカウントする
┌────┐┌─┬─┬─┐
│strlen()││a │b │c │    → 3
├────┤├─┼─┼─┼─┐
│sizeof()││a │b │c │\0│→ 4
└────┘└─┴─┴─┴─┘
分類:C/C++