私は解析したいグローバル文字列を使用します。解析は複数の関数から行われます。 たとえば、func1()で最初のトークンを抽出し、func2()などで同じグローバル文字列から2番目のトークンを抽出します。
これは可能ですか?私は、最初のものがstrtok(NULL、区切り文字)によって行われた後のトークンの抽出を知っています。そして、strtokはnullに置き換えられた区切り文字の次のバイトにポインタを保存しますが、strtokがどのようにそれは異なる機能で完了したときに区切ります。C strtok複数の関数のグローバル文字列
1
A
答えて
1
が可能です。 strtokは文字列を静的メモリに保存します。
など。
#include <stdio.h>
#include <string.h>
char sentence[] = "The quick brown fox jumps over the lazy dog";
char* sentencep = sentence;
char* func1(void){
char* p = sentencep;
if(sentencep != NULL)
sentencep = NULL;
return strtok(p, " ");
}
char* func2(void){
char* p = sentencep;
if(sentencep != NULL)
sentencep = NULL;
return strtok(p, " ");
}
int main(){
puts(func1());//The
puts(func2());//quick
puts(func2());//brown
puts(func1());//fox
return 0;
}
+0
参照http://research.microsoft.com/en-us/um/redmond/projects/invisible/src/crt/strtok.c.htm – BLUEPIXY
関連する問題
- 1. C++ strtok関数
- 2. 複数の関数で使用するC++コピー文字列
- 3. Objective-CのグローバルC文字列定数プロパティ
- 4. 複数の単語が文字列C
- 5. Cの文字列比較関数
- 6. 文字列型のグローバル変数
- 7. strtok()関数が文字列を正しくトークン化していません
- 8. 文字列/配列(Python)に複数の関数値を格納
- 9. 文字列の複数の文字を変更するC++
- 10. pythonグローバル関数の文字列を変更
- 11. 156文字列を複数の関数に渡す
- 12. r関数のアクセスローカル文字列変数
- 13. CLR関数で複数の文字列を受け入れる
- 14. Strtokの問題C(EOF文字?)
- 15. C#エンティティフレームワーク文字列正規関数
- 16. Objective-C文字列関数:文字列を含む
- 17. 空文字列を返す文字列関数C++
- 18. checkboxGroupInput - Shinyの文字列で複数の関数を実行
- 19. 複数の文字列
- 20. 複数の文字列:: find
- 21. XSLT:複数の文字列
- 22. 空文字列のstrtok()セグメンテーションフォルトの入力
- 23. 複数のパラメータを持つ複数の複数の文字列
- 24. 文字列内の関数
- 25. 複数文字の文字定数エラー
- 26. C#文字列関数からT-SQLスカラー関数
- 27. 複数のクエリ文字列値を取得するJavaScript関数
- 28. str.format()関数に複数の文字列を渡す方法
- 29. 関数から複数の文字列を返す
- 30. C++静的ローカル関数とグローバル関数
「グローバル文字列」と言ったので、あなたが 'strtok'を使用している文字列が文字列リテラルでないことを確認してください。 –