広告スペース(バナー)
🔧C言語 レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 20 / 68

文字列の分割(strtok)

このレッスンでは、C言語のstrtokを使った文字列の分割を学び、CSVのようなデータを扱えるようになることを目標にします。「C言語 strtok 使い方」で調べている方向けです。

strtok()は、区切り文字を指定して文字列を分割するための関数です。C言語には専用の分割メソッドがないため、この関数を使うのが伝統的な方法です。

サンプルコードでは、strtok(csv, ",")で最初のトークンを取得し、whileループの中でstrtok(NULL, ",")を繰り返し呼び出すことで、残りのトークンを1つずつ取得しています。2回目以降は最初の引数にNULLを渡す独特な使い方に注目してみましょう。

初心者がよくつまずくのが、strtok()が元の文字列を直接書き換えてしまう点です。区切り文字の位置に終端文字を挿入するため、元の文字列を後で使いたい場合はコピーを取っておく必要があります。

実際の開発現場では、CSVファイルの読み込みやログの解析など、実際の業務システムでも文字列の分割処理が頻繁に必要になります。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではC言語を直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
カンマ区切りのデータを分割・結合する、簡単なCSV風の処理が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)