トップページ > 記事閲覧
FileRead_scanfについて
名前:リンク 日時: 2016/05/29 09:37

現在、csvファイルの読み込みをFileRead_scanfを使って行おうとしているのですが やり方が悪いのか、仕様を理解し切れていないのかうまく読み込んでくれません。 while (FileRead_scanf(fp, "%d,%d,%d,%lf,%lf,%lf,%d,%d,%d,%d,%d,%d,%d", &enemy_order[i].start, &enemy_order[i].pattern_i, &enemy_order[i].knd, &enemy_order[i].x, &enemy_order[i].y, &enemy_order[i].sp, &enemy_order[i].bltime, &enemy_order[i].blknd, &enemy_order[i].col, &enemy_order[i].hp, &enemy_order[i].blknd2, &enemy_order[i].wait, &enemy_order[i].item_n)!=EOF) { i++; } こちらがそのコードです。x、y、spはdouble、それ以外はintです。 yにマイナスの数値を入れているのですがどうもそこでうまく読み込めていないようなのですが、 なにか悪いところが無いか分かりますでしょうか?
メンテ

Page: 1 |

Re: FileRead_scanfについて ( No.1 )
名前:管理人 日時:2016/05/30 00:45

コードには問題はないように見えます > yにマイナスの数値を入れているのですがどうもそこでうまく読み込めていないようなのですが マイナスの文字『-』と数字の間にスペースがある、などのことは無いでしょうか? あと、よろしければ csv ファイルのうまく読み込めない部分をこちらに貼り付けていただけないでしょうか? 原因がわかるかもしれませんので m(_ _)m
メンテ
Re: FileRead_scanfについて ( No.2 )
名前:リンク 日時:2016/06/08 15:05

遅くなりました、csvファイルのデータが文字列として読み込まれるのが原因だったようです。 ソースコードをatoiを使って書き換えたところうまくいきました。 ありがとうございました。
メンテ
Re: FileRead_scanfについて ( No.3 )
名前:yumetodo 日時:2016/06/11 00:22

>atoi そもそもscanf系関数やatoi系関数で文字列を数値に変換するとオーバーフロー/アンダーフローを検知できないのでダメでは。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存