csvファイルからint型で値を読み込みたい

[戻る]
boze 2007/07/04(水) 03:17:12
Cの初心者です.
csvファイルのカンマで区切られた複数行の数値群,例えば

1,2,3
11,12,13
21,22,23

を

int a[1][1] = 12

となるように1つずつ読み込みたいです.
いろいろ探してみましたが,数値として読み込めません.
どのようなプログラムを書けばいいのでしょうか?

επιστημη [HomePage] 2007/07/04(水) 06:57:10
1. 1行読む
2. ','で切り分ける
3. 数字→数値に変換
4. 2-3をくり返す
5. 1-4をくり返す

wclrp ( 'o') [HomePage] 2007/07/04(水) 09:15:48
予め行数とかわからないと
int a[10][10];
みたいな宣言は出来ないよ。

行数の上限とかが不明なら
vector<vector<int> >を使うとかになるのかな。

他の方法でも出来るが簡単に済ますとしたら
,で区切るのはstrtok
数値に変換はatoi
繰り返しはwhileとかかな。

boze 2007/07/04(水) 10:51:50
[[解決]]
行数はあらかじめわかっていました.
説明足らずで申し訳ありません.

数字をatoi()で変換したところうまくいきました!
貴重なアドバイスありがとうございます.

古いスレッドには追加発言できません。