[C言語]文字列を区切り文字で切り出し分割!カンマで配列の結合について

[C言語]文字列を区切り文字で切り出し分割!カンマで配列の結合についてC言語
広告

C言語において文字列の操作は基本的なプログラミングスキルの一環です。

この記事では文字列をカンマや他の区切り文字で切り出す方法と文字配列をカンマ区切りで結合する方法について解説します。

初心者の方でも理解しやすいように基本的な手法に焦点を当てて説明します。

広告

文字列を区切り文字で切り出し分割

文字列を特定の区切り文字で分割する方法として、strtok関数を使用します。

以下はその例です。

#include <stdio.h> 
#include <string.h>

int main() {
    char source[] = "apple,orange,banana,grape";
    char* token;

    // 最初のトークンを取得
    token = strtok(source, ",");

    // 2回目以降のトークンを取得
    while (token != NULL) {
        // 切り出した部分を表示
        printf("切り出した部分:%s\n", token);
        token = strtok(NULL, ",");
    }

    return 0;
}

このプログラムでは、,をデリミタとして文字列を分割し各部分を表示しています。

文字配列をカンマ区切りで結合する

複数の文字列をカンマなどの区切り文字で結合するには、sprintf関数を使用します。

以下はその例です。

#include <stdio.h> 
#include <string.h>

int main() {
    char fruit1[] = "apple";
    char fruit2[] = "orange";
    char fruit3[] = "banana";
    char fruit4[] = "grape";
    char result[50];  // 結果を格納する配列

    // 文字列を結合
    sprintf(result, "%s,%s,%s,%s", fruit1, fruit2, fruit3, fruit4);

    // 結合した文字列を表示
    printf("結合した文字列:%s\n", result);

    return 0;
}

このプログラムでは、sprintf関数を使って各果物をカンマで結合し結果を表示しています。

ガマくん
ガマくん

文字数での切り出し方について以下記事で詳しく紹介してるよ

[C言語]文字列を文字数で切り出し!strncpy・substr・strtokについて
C言語では文字列から特定の部分を切り出す方法がいくつかあります。この記事ではその中でも代表的な手法であるstrncpyやsubstr、strtokを利用した方法について解説します。初心者の方でも理解しやすいように簡潔に説明します。
広告

まとめ

文字列を切り出し・結合する方法として、strtokとsprintfを紹介しました。

これらの基本的な操作はプログラムで様々なデータを扱う際に非常に重要です。

是非、実際にコードを書きながら理解を深めてみてください。

タイトルとURLをコピーしました