回答編集履歴
1
文言ちょっと修正。
answer
CHANGED
@@ -4,4 +4,4 @@
|
|
4
4
|
このような作りになっているゆえの注意点としては、一連のstrtok()の呼び出しの途中の状態では、別の文字列に対するstrtok()の呼び出しが出来ないということが挙げられます。
|
5
5
|
検索キーワードとしては「リエントラントでない」「スレッドセーフでない」あたりで調べるといろいろ出てくるかと思います。昔からあるCの関数でこのような性質を持つ関数には代わりの関数が提供されていることが多いです。
|
6
6
|
|
7
|
-
|
7
|
+
strtok()の内部の作業変数の領域を外側から渡すことが出来るバージョンであるstrtok_r()という関数があります。こちらの関数はリエントラントでありスレッドセーフであるので、新規であればそちらを使うのが良いかと思います。
|