strtok()という関数。
以下のように使う。
int main() {char *p = strtok(分割対象文字列のアドレス, 分割文字);
char str[] = ":blue:red:yellow:black:";
char *p = strtok(str, ":");
while (p != NULL) {
printf("[%s]\n", p);
p = strtok(NULL, ":");
}
return 0;
}
のように使います。
但し、2回目以降は、
char *p = strtok(NULL, 分割文字);
とします。
NULLを指定することで、前に検索し終わった部分の次の文字列から検索を再開します。ちょっと変な仕様ですが、クラスをサポートしていないCの名残のような感じがします。
stringに対して同じことをしたい場合は、c_str()メンバ関数で一旦(const char *)に変換してから上記関数を使うといいです。
0 件のコメント:
コメントを投稿