ファイル内容
********************
あいう,,さしす
たちつ,なにぬ,はひふ
まみむ,,
あいう,win,
********************
#include <stdio.h>
#include <string.h>
#define MBF 256
struct tb{
char aaa[32];
char bbb[32];
char ccc[32];
};
int main(){
struct tb tbl[20];
struct tb *tp;
int ntb,itb;
FILE* fi;
FILE* fo;
char buff[MBF];
// 入力
fi = fopen("sample.csv","r"); // 検査省略
if( fi == NULL ){
printf( "%sファイルが開けません\n" );
return -1;
}
ntb = 0;
while ( fgets(buff,MBF,fi ) != NULL ) {
strcpy(tbl[ntb].aaa,strtok(buff,","));
strcpy(tbl[ntb].bbb,strtok(NULL,","));
strcpy(tbl[ntb].ccc,strtok(NULL,","));
ntb++;
}
fclose( fi );
// 出力
fo = fopen("csvo.csv","w");
if( fo == NULL ){
printf( "%sファイルが開けません\n" );
return -1;
}
for ( itb=0;itb<ntb;itb++ ) {
tp = tbl+itb;
fprintf(fo,"%s%s%s",tp->aaa,tp->bbb,tp->ccc);
}
fclose( fo );
return 0;
}
csvファイルないようが以下であれば格納できるけど、すごく困ってます。
********************
あいう,かきく,さしす
たちつ,なにぬ,はひふ
まみむ,やゆよ,らりる
********************
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
3に満たない場合にNullとするのか?
3を越える場合には、越えた部分を切り捨てるのか?
もしや登場するものすべてを集めて3個ずつにするのか?
このあたりの仕様が確定してないんでしょ?
一度、すべての項目を連結してから3個区切りするのがよさそうですね。
(テキストエディタで改行部分をカンマと置換するなど)
No.1
- 回答日時:
「どのようなデータの時」「どうお困り」なのでしょうか?
ダブルクォートで囲まれている場合
"123","456","789"
列数が3ではない場合
"123","345"
"123","456","aaa","sss"
など?
この回答への補足
まず、回答ありがとうございました。
ダブルクォートで囲まれてないです。
ファイル1例:
1,2,3
2,3,
1,
1,3
3,,
難しいと思いますがm(_ _)m
カンマの数と全部数値があるとしたら上の処理でいけるんですけど・・・
ファイル1の例みたいにカンマの数も合ってないし、データも
入ってるものもあるし、入ってないものもあるから
お願いいたします!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# C言語で再起関数とポインタを用いて文字列反転をする方法がわかりません。 4 2023/04/29 20:32
- C言語・C++・C# #include <stdio.h>int main(void) { int buf[100] = 6 2022/11/01 22:45
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Python CSVファイルについて
-
ファイルパスの指定の仕方がわ...
-
大量のフォルダからひとつのフ...
-
同名のフォルダを検索・削除したい
-
VBAでワークシートを引数として...
-
コマンドプロンプトのエラーに...
-
ファイルのサイズを0にする or ...
-
コマンドプロンプトの「%1」と...
-
virualboxで仮想マシンフォルダ...
-
PCのアプリケーションを別のPC...
-
binファイルを解凍したいの...
-
PDFファイルを開き、印刷し、閉...
-
Latexで図番号だけを「図1.1」...
-
間違えて上書き保存した場合の...
-
研究する文献がたくさんありま...
-
VS2019のコンソールC++からGn...
-
binフォルダーとは?
-
子バッチ内のキー入力処理へ自...
-
leeyesでファイルの読み込みが...
-
slk拡張子のエクセルファイルを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのVBAについて とある...
-
Python CSVファイルについて
-
アクセスと同フォルダのCSVファ...
-
FTPコマンド mgetでとまってし...
-
【Rコマンダー】データインポー...
-
エクセル 指定範囲をCSV出力
-
エクセルマクロ、複数のCSVファ...
-
バッチ処理でcsvファイルの文字...
-
複数のcsvファイルを統合、でも...
-
EXCEL マクロが正常に動かなく...
-
MAC フォルダ内のPDF件数とペー...
-
gnuplotで複数csvファイルから...
-
複数エクセルファイルの合成
-
複数のCSVファイルを読み込んで...
-
シェルスクリプトで文字コード変換
-
Excelの帳票形式をアクセスに取...
-
エクセルにまとめたcsvデータを...
-
excelでMac(-)⇒Win(?)文字化け...
-
csvファイルを結合するバッ...
-
csvファイルを統合する方法を教...
おすすめ情報