質問
どんなトークンを構文解析からの入力文字列になります。例えば:
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の場合ターミネーター
- 合併隣接する区切り文字、もちろん、
- ないスレッドで安全です。
みなさんこ 代替.
所属していません StackOverflow