VC++ 初心者です。
VC++6.0 MFC ダイアログボックスでプログラムを作っています。
質問があります。
カンマ(,)区切りで1行に2つの数値が入っているファイルがあります。
そこからカンマを境に1つずつデーターを取り出して、別々の変数に入れたいのですが、
どの様にしたら良いか、分かりません。
fscanf() や fgets() で、やってみたのですが、カンマも含めて、2つの数値が
1つの変数に入ってしまいます。
どなたか、良い方法があれば、教えて下さい。
お願いします。
fgetsかなにかで一行丸ごと読み込み、','の前と後とに切り分ければいい。
2項目だから不要かもしれないが、いちおう参考に、、、
http://www.microsoft.com/JAPAN/developer/library/vccore/_crt_strtok.2c_.wcstok.2
c_._mbstok.htm
NEG(ねぐ)さんへ
カンマ区切りデータの場合は、strtokを使わないで地道にやるほうが良いのでは?
カンマが重なった場合にデータ数が減ったりズレたりしてしまうことがあります
いやいや、それはCSVみたいに A,,,B なんてのを許す場合であって、
質問の意図とは異なるでしょう。
int a, b;
fscanf(fp, %d,%d, &a, &b);
なんてどうでしょ?
るんるん さんの方法でやってみました。
int rec2;
double rec;
fscanf(fp,%f,%d,&rec,&rec2);
すると rec2 には正しい値が入ってきましたが、rec は 0 になりました。
何故でしょう。
rec に入るはずの値は、少数点以下2桁の実数なのですが。
るんるんさん、済みませんでした。
double rec; -> float rec;
で解決しました。
有り難うございました。