strtok() (trong <string.h>) tách chuỗi thành các token dựa trên ký tự phân tách (delimiter).
Cú pháp
char* strtok(char* string, const char* limiter);
Lần đầu gọi với chuỗi gốc, các lần sau gọi với NULL để lấy token tiếp theo. Lặp cho đến khi trả về NULL.
Ví dụ
#include <stdio.h>
#include <string.h>
int main() {
char input_string[] = "Hello Tutorials Point!";
char token_list[20][20];
char* token = strtok(input_string, " ");
int num_tokens = 0;
while (token != NULL) {
strcpy(token_list[num_tokens], token);
num_tokens++;
token = strtok(NULL, " ");
}
printf("Token List:\n");
for (int i = 0; i < num_tokens; i++)
printf("%s\n", token_list[i]);
return 0;
}
Kết quả
Token List: Hello Tutorials Point!
Lưu ý: strtok() sửa đổi chuỗi gốc (chèn '\0' tại delimiter).