> > char buf[256]; > > char S[256]; > > float a; > > strcpy(buf, "123abc"); > > sscanf(buf,"%f%s",&a,S); > > このコードで a=123.0 S="abc"になるなぁ(;´Д`) > > そういえばループの中に入れるとおかしくなるんだっけ? > > fgetsで取ってくた文字列が狂ってるんじゃないかな? > 漏れも最初はそうしてたんだ(;´Д`)最初は正常に動いてたんだけど > 3時間くらいしてから突然ゼロばっか吐くようになった fgetsで取り込む元のファイルのデータが間違ってるとか(;´Д`) sscanf(buf,"%f%s",&a,S);の場合、戻り値は取得したデータの数になるよ aとSに取り込めたら2、aだけ取り込めたら1、全く取り込めなかったら0が返る とりあえずsscanfの戻り値が2より小さくなったらそこで終了させるようにするとか 参考:2006/12/27(水)23時05分49秒