MENU

【C言語】文字列の一部を切り出しする方法を解説

この記事では、C言語で文字列の一部を切り出す方法を解説します。

目次から探す

文字列の一部を切り出す方法

文字列を操作する際に、特定の部分を切り出すことはよくあります。

C言語では、文字列の一部を切り出す方法として、インデックスを指定する方法とポインタを使う方法があります。

以下でそれぞれの方法について解説します。

インデックスを指定して切り出す方法

文字列の一部を切り出すためには、インデックスを指定することができます。

インデックスは文字列内の各文字に割り当てられた番号であり、0から始まります。

例えば、文字列 Hello, World! がある場合、H のインデックスは 0、e のインデックスは 1、l のインデックスは 2 となります。

以下に、インデックスを指定して文字列の一部を切り出す方法のサンプルコードを示します。

#include <stdio.h>
int main() {
    char str[] = "Hello, World!";
    char sub_str[6];
    // インデックスを指定して一部を切り出す
    for (int i = 0; i < 5; i++) {
        sub_str[i] = str[i];
    }
    sub_str[5] = '\0'; // 文字列の終端を示すヌル文字を追加
    printf("切り出した文字列: %s\n", sub_str);
    return 0;
}

上記のコードでは、Hello, World! という文字列から最初の5文字を切り出しています。

sub_str という配列に切り出した文字列を格納し、printf 関数を使って結果を表示しています。

実行結果は以下のようになります。

切り出した文字列: Hello

ポインタを使って切り出す方法

文字列をポインタとして扱うこともできます。

ポインタを使って文字列の一部を切り出す場合、ポインタの位置を移動させることで切り出す範囲を指定します。

以下に、ポインタを使って文字列の一部を切り出す方法のサンプルコードを示します。

#include <stdio.h>
int main() {
    char str[] = "Hello, World!";
    char* sub_str = str;
    // ポインタを使って一部を切り出す
    sub_str += 7; // "World!" の先頭に移動
    printf("切り出した文字列: %s\n", sub_str);
    return 0;
}

上記のコードでは、Hello, World! という文字列から World! を切り出しています。

sub_str というポインタを使って、+= 演算子を使ってポインタの位置を移動させています。

実行結果は以下のようになります。

切り出した文字列: World!

以上が、C言語で文字列の一部を切り出す方法です。

インデックスを指定する方法とポインタを使う方法を使い分けて、必要な部分を切り出すことができます。

目次から探す