文字列読み込み 数値変換
%e で double を読み込むとエラー %le を使うこと
%*s の*は,その token を無視する(代入先を設定しない)という意味.
読みとばすからといって,適当な型を指定してはいけない.(全読み込みがパーになる.)
#include <string> int main(){ std::string line = "hoge meso 3 4.4 5.5"; char word[20]; int v1; float v2; double v3; //e, f, g : float //le, lf, lg : double int n = sscanf(line.c_str(), "%s %*s %d %e %le", word, &v1, &v2, &v3); printf("%s %d %4.2e %le\n", word, v1, v2, v3); return 0; }