この記事では、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ファイルからデータを読み取る方法です。