strtok()
関数の再入可能バージョンである strtok_r()
関数が挙げられます。 strtok()
関数は、文字列を指定された区切り文字に基づいてより小さな部分文字列に分割してトークン化するために使用されます。しかし、文字列の現在位置を格納するために静的変数を使用するため、マルチスレッドプログラムで使用するには安全ではありません。一方、 strtok_r()
関数は、現在位置を格納するための別のポインタをユーザーに提供する必要があり、各スレッドが独自のコンテキストを持つことを保証し、関数を再入可能にするものです。