0

ここでstrtol に関するいくつかのドキュメントを読んでい ます。この例では、新しい数字が始まるときにスペースを使用してこの機能を示しています。私は C++ を初めて使用し、ポインターとそのしくみについてはまだよく知らないので、それについて質問することにしました。スペースの代わりにドットを使用して数字を分割できますか? たとえば、これを持っていて、char text[] = "3.16.88"それを this のような 3 つの異なる変数に変換したい場合a = 3, b = 16, c = 88、まだ strtol を使用できますか、それとも別の方法を試す必要がありますか? ありがとう

4

1 に答える 1

4

それはまさにドキュメントが言うことです。

10 進数の場合、数字のみ0..9が解析され、スキャンは次の非数字で停止します。

先頭の空白は自動的に破棄されます。次の番号を先にスキャンしたい場合は、数字以外をスキップする単純なループを追加する必要があります。これは、パラメータの 1 つで返すことができる から始まりend_ptrますstrtol(これを使用します。 に設定しないでくださいNULL)。

于 2016-03-13T13:08:21.060 に答える