strlen()について

444 ワード

strlen()について、今日問題に遭遇しました.私がテキストを読むとき、strlen()で1行の文字列の長さをlenと算出します.次にstr[len-1]を印刷し、
最後の文字が印刷されると思います.結局それはありません. 
そして、strlen()のソースコードを見に行ったところ、
for (char_ptr = str; ((ulong)char_ptr & (sizeof(ulong) - 1)) != 0; ++char_ptr) {
    if (*char_ptr == "\0")
        return char_ptr - str;
}

'0'に遭遇したときに配列の長さを返します.私のこの行の文字列の最後の文字は''です.やっとこの疑惑を解消した. 
strlen()に対する理解が足りなかったことも反省します.