質問

どんなトークンを構文解析からの入力文字列になります。例えば:

char *aString = "Hello world".

いまのままで出力する:

"こんにちは""世界"

役に立ちましたか?

解決

あなたはstrtok使用したいしようとしている - ここでを良い例です。

他のヒント

、標準ライブラリの一部をはstrtok のを見てみましょうます。

strtok は、簡単に答えが本当に必要であるレクサーがなされているかもしれない以下を考えます:

  • いつの間はスペース"こんにちは"および"システムに力をいれたのです。
  • うとするサイトの著作権は、弊社空白?
  • これにまさるなどの縦の空白文字( ,\f、\v)は水平(\s, )?
  • これに含まれまUNICODEの空白文字?
  • また句とう点と言("hello,world"という)の句読点とする別のトークンの一部は"こんにちは,"たか。

ご覧のとおり、適切なレクサーではないで、 strtok が適切にレクサー.

他のソリューションが単一文字状態機械のことは正確に必要なものは、正規表現に基づく解決を探す言葉との差をより一般化しました。多くあります。

そして、もちろん、このように実際の要件は、わからないようになり、開始と strtok.ができたことを嬉しく思いを意識する様々な限界がある。

再入のバージョンのことができますいずれかを使用する場合 strtok_sのVisual Studio のか<のhref = "HTTP用:// www.mkssoftware.com/docs/man3/strtok_r.3.asp」のrel = "nofollowをnoreferrer">についてはstrtok_r UNIX の

こstrtokは 非常に くまな:

  • で入力変数を変更する機能を提供する
  • 区切り文字に置き換え、nullの場合ターミネーター
  • 合併隣接する区切り文字、もちろん、
  • ないスレッドで安全です。

みなさんこ 代替.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top