C言語学習ポータル(無料版) 学習コンテンツ 関数リファレンス strlen

🔧 文字列 ・ string.h ・ C89

strlen の使い方

C言語 標準ライブラリ関数リファレンス(無料公開)

書式

size_t strlen(const char *s);

どんな関数か

文字列の終端\0を除いた文字数(バイト数)を返す。文字列の長さ分だけ先頭から走査するためO(n)であり、ループの条件式などで何度も呼ぶと性能劣化の原因になる。 文字列のバイト数がそのまま欲しい場面(例えばバッファ確保のサイズ計算)で頻出する基本関数。

使用例

#include <stdio.h>
#include <string.h>
int main(void) {
    printf("%zu\n", strlen("hello"));
    return 0;
}

つまずきやすい注意点

⚠️ 終端の\0が無い文字配列に対して呼ぶと、範囲外を読み続けて未定義動作になる。

アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ

strlen と一緒に使う関数

strcpy文字列をコピー先バッファへコピーする。コピー先のサイズを一切考慮しないため、コピー元がコピー先より長いとバッファオーバー… strcmp2つの文字列を辞書順に比較する。等しければ0、s1がs2より小さければ負、大きければ正を返す。文字列の内容比較には==で…

この関数が出てくる解説

ヌル終端 '\0' の掟ヌル終端の役割を理解し、必要な配列サイズを正しく見積もれる string.h の主要関数strlen・strcpy・strcat・strcmp の役割と使い方を説明できる

同じ分類(文字列)の関数

memcmp memcpy memmove memset memset_explicit strcat strchr strcmp strcoll strcpy strcspn strdup strerror strncat strncmp strncpy

もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。

完全版(BOOTH)を見る