カンマ区切りのデーターを別々の変数に入れるには – プログラミング – Home

カンマ区切りのデーターを別々の変数に入...
 
通知
すべてクリア

[解決済] カンマ区切りのデーターを別々の変数に入れるには


みのすけ
 みのすけ
(@みのすけ)
ゲスト
結合: 22年前
投稿: 64
Topic starter  

VC++ 初心者です。
VC++6.0 MFC ダイアログボックスでプログラムを作っています。

質問があります。
カンマ(,)区切りで1行に2つの数値が入っているファイルがあります。

そこからカンマを境に1つずつデーターを取り出して、別々の変数に入れたいのですが、
どの様にしたら良いか、分かりません。

fscanf() や fgets() で、やってみたのですが、カンマも含めて、2つの数値が
1つの変数に入ってしまいます。

どなたか、良い方法があれば、教えて下さい。
お願いします。


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

fgetsかなにかで一行丸ごと読み込み、','の前と後とに切り分ければいい。


返信引用
NEG(ねぐ)
 NEG(ねぐ)
(@NEG(ねぐ))
ゲスト
結合: 22年前
投稿: 178
 

 2項目だから不要かもしれないが、いちおう参考に、、、
http://www.microsoft.com/JAPAN/developer/library/vccore/_crt_strtok.2c_.wcstok.2
c_._mbstok.htm


返信引用
akey
 akey
(@akey)
ゲスト
結合: 22年前
投稿: 53
 

NEG(ねぐ)さんへ

カンマ区切りデータの場合は、strtokを使わないで地道にやるほうが良いのでは?

カンマが重なった場合にデータ数が減ったりズレたりしてしまうことがあります


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

いやいや、それはCSVみたいに A,,,B なんてのを許す場合であって、
質問の意図とは異なるでしょう。


返信引用
るんるん
 るんるん
(@るんるん)
ゲスト
結合: 22年前
投稿: 7
 

int a, b;
fscanf(fp, %d,%d, &a, &b);
なんてどうでしょ?


返信引用
みのすけ
 みのすけ
(@みのすけ)
ゲスト
結合: 22年前
投稿: 64
Topic starter  

るんるん さんの方法でやってみました。

int rec2;
double rec;
fscanf(fp,%f,%d,&rec,&rec2);

すると rec2 には正しい値が入ってきましたが、rec は 0 になりました。
何故でしょう。
rec に入るはずの値は、少数点以下2桁の実数なのですが。


返信引用
みのすけ
 みのすけ
(@みのすけ)
ゲスト
結合: 22年前
投稿: 64
Topic starter  

るんるんさん、済みませんでした。

double rec; -> float rec;

で解決しました。
有り難うございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました