C言語でCSVから特定の行だけを読み込む方法について解説

この記事では、CSVファイルの行を指定して読み込む方法について解説します。

目次

C言語でCSVファイルを指定した行だけを読み込む方法

CSVファイルは、一般的にカンマ区切りでフォーマットされたテキストファイルであり、多くのプログラムで使用されています。

C言語でもCSVファイルを扱うことができます。この記事では、C言語でCSVファイルから指定した行だけを読み込む方法について解説します。

CSVファイルを開く

まず最初に、CSVファイルを開く必要があります。これはfopen関数を使用して行います。以下は、”sample.csv”という名前のCSVファイルを読み込むためのコード例です。

FILE *fp;
fp = fopen("sample.csv", "r");

上記のコードでは、”sample.csv”という名前のCSVファイルを読み取り専用モード(”r”)で開いています。fopen関数は、成功するとFILE型ポインターを返します。

CSVファイルの行を指定して読み込む

次に、CSVファイルから特定の行だけを読み込む方法について説明します。以下は、3行目だけを読み込むためのコード例です。

char buffer[1024];
int row_count = 0;
int target_row = 3;

while (fgets(buffer, 1024, fp)) {
    row_count++;
    if (row_count == target_row) {
        printf("%s", buffer);
        break;
    }
}

上記のコードでは、fgets関数を使用して1行ずつCSVファイルからデータを読み取っています。

buffer変数には1行分のデータが格納されます。

row_count変数は現在処理中の行番号です。

target_row変数には読み取りたい対象となる行番号が格納されます。

while文内部では、各行ごとにrow_count変数がインクリメントされます。

そしてtarget_row変数と一致する場合に限りbuffer変数内部に格納された文字列が出力されるようにしています。

このように、読み込んだ行数を使って判定を行うことで、特定の行の文字列のみ処理することが可能です。

CSVファイルを閉じる

最後に、開いたCSVファイルを閉じる必要があります。これもfclose関数で実現します。

fclose(fp);

上記のコードでは、先程開いたCSVファイル(fp)を閉じています。

以上がC言語で特定の行だけCSVファイルからデータを読み取る方法です。

目次