■C言語■
CSVファイルのデータを配列に格納してtest.txtに書き込みたいです。
その際、指定した列だけを書き込むのですが、うまくいきません。
a.txtの中身が
a1,a2,a3,a4,a5
b1,b2,b3,b4,b5
c1,c2,c3,c4,c5
だとしたら、a1,a2,a3,a4,a5だけしか書き込めていません。
test.txtに書き込みたいのは、
a3
b3
c3
のようにしたいです。
初心者ですが、なかなかうまくいかないのでくやしいです。。。
お詳しい方、ご教授よろしくお願いします。
#define LINE_MAX 1024
#define ITEM_MAX 200
FILE *fp;
char in_file[] = "a.txt";
char line[LINE_MAX];
char delmit[] = ",\n";
char item[ITEM_MAX][100];
char *item_p;
int item_idx,ii;
if((fp = fopen(fnamebuff, "r")) != NULL)
{
while(fgets(line, LINE_MAX, fp) != NULL)
{
if((item_p = strtok(line, delmit)) != NULL)
{
strcpy(&item[0][0], item_p);
for(item_idx = 1; item_idx < ITEM_MAX; ++item_idx)
{
if((item_p = strtok(NULL, delmit)) != NULL)
{
strcpy(&item[item_idx][0], item_p);
}
else
{
item[item_idx][0] = '\0';
}
}
}
FILE *fl;
fl=fopen("test.txt","w");
for(ii=0;ii<200;ii++){
fprintf(fl," %s ",
&item[ii][0]);
}
fclose(fl);
fclose(fp);
}
}
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
// 変数を追加
int line_idx = 0;
// item へのコピー時に line_idx を指定
strcpy(&item[item_idx][line_idx], item_p);
// 一行を読み終わったら、line_idx を +1
item[item_idx][line_idx] = '\0';
line_idx++;
// 出力は、第3列のみを line_idx 行分
for(i=0; i<line_idx; i++) fprintf(fl,"%s\n", &item[2][i]);
// 全体の処理順序は以下がオススメ
fp = fopen()
while ( 読み込み(fp) ) { 処理 }
fclose(fp)
fl=fopen()
書き込み(fl)
fclose(fl)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- Visual Basic(VBA) VBA初心者です。 2 2022/10/10 11:52
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- オープンソース cssで中央寄せ 1 2023/05/19 06:25
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- その他(IT・Webサービス) html cssについて 3 2023/05/13 12:48
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c言語でのfscanfについて
-
複数ファイルの同時読み込みの...
-
C言語にてXMLファイルから任意...
-
ファイルへの書込み処理が異常...
-
datファイルの読み込み
-
【C言語】ファイルを読み込んで...
-
fscanfで格納された変数がおか...
-
VisualStudioでのファイルの入...
-
ファイル出力で改行を入れたい!
-
同時にファイル読み込み 書き込み
-
差分ファイルを読み込んで解析する
-
テキストファイル内に対して, ...
-
ガンマ変換 C言語でプログラ...
-
C言語でファイル名を変数にした...
-
C言語でのCSVソートとデータ抽...
-
ファイル読み込み EOF 判定
-
fopenでファイル名に、変数を使...
-
テキストを一文字以上ずつ読み...
-
自己相関関数を求めるプログラ...
-
C言語のファイル入出力の問題です
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数ファイルの同時読み込みの...
-
ファイルへの書込み処理が異常...
-
C言語でファイル読み書きを早く...
-
c言語でのfscanfについて
-
fopenでファイル名に、変数を使...
-
ファイル出力で改行を入れたい!
-
C言語にてXMLファイルから任意...
-
CRC32の計算方法
-
fgets( ) の返り値は何?
-
InternetReadFileを使ったファ...
-
【C言語】ファイルを読み込んで...
-
VisualStudioでのファイルの入...
-
commons-netでのFTP送信について
-
日本語ファイル名のFTPについて
-
fgets関数の利用 c言語
-
C言語でコマンドmvを実行
-
「コマンドライン引数チェック...
-
C言語でセグメンテーションエ...
-
構造体のメンバにファイルポイ...
-
エラー C2664
おすすめ情報