私は、文字列(char*
)を解析していると私はそうのように、ダブルスに文字列から数字を解析するsscanf
を使用しています:sscanfが読み取る文字数を取得しますか?
// char* expression;
double value = 0;
sscanf(expression, "%lf", &value);
これは素晴らしい作品が、私は、その後の解析続けていきたいと考えて従来の方法で文字列に変換します。私はsscanf
によっていくつの文字が解析されたかを知る必要があるので、新しいオフセットからマニュアル解析を再開することができます。
明らかに、最も簡単な方法は、何らかの形で文字sscanf
解析数を計算することであろうが、それを行うための簡単な方法はありません場合、私は代替ダブル解析オプションにオープンています。しかし、私は現在、sscanf
を使用しています。なぜなら、高速でシンプルで読みやすいからです。いずれにせよ、私はダブルを評価し、それの後でパースを続ける方法が必要です。
私は[Microsoft実装](https://msdn.microsoft.com/en-us/library/t6z7bya3.aspx?f=255&MSPPError=-2147217396)のように動作しないようです: '' sscanf_s(p、 "%s%d \ n%n"、toString、(int)_countof(toString)、&itemCount、&pos); '' pos'は全く変更されていないようです。 – c00000fd