Giả sử chúng ta có một chuỗi s chứa một câu có vài từ. Chúng ta sẽ phải in từng từ thành các dòng mới. Để làm điều này, chúng ta có thể sử dụng hàm strtok () trong tệp tiêu đề string.h. Hàm này nhận chuỗi và dấu phân cách. Ở đây dấu phân cách là khoảng trống "".
Vì vậy, nếu đầu vào là s ="Hãy để chúng tôi xem một số chuỗi ký tự thú vị", thì đầu ra sẽ là
Let us see some string tokenizing fun
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
-
token:=từ đầu tiên bằng cách sử dụng strtok (s, "") ở đây dấu phân cách là ""
-
trong khi mã thông báo khác 0, hãy làm:
-
mã thông báo hiển thị
-
token:=mã thông báo tiếp theo của s, kể từ bây giờ chuyển NULL làm đối số đầu tiên của strtok với cùng dấu cách phân tách "".
-
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
#include <stdio.h> #include <string.h> int main(){ char s[] = "Let us see some string tokenizing fun"; char* token = strtok(s, " "); while (token) { printf("%s\n", token); token = strtok(NULL, " "); } }
Đầu vào
Let us see some string tokenizing fun
Đầu ra
Let us see some string tokenizing fun