Fungsi
strtok() ialah sebahagian daripada fail pengepala
strtok() adalah seperti berikut −
char* strtok(char* string, const char* limiter);
pembatas Pembatas aksara. strtok() akan membahagikan rentetan kepada token berdasarkan watak pembatas.
Kita boleh mengharapkan untuk mendapatkan senarai rentetan daripada strtok(). Walau bagaimanapun, fungsi mengembalikan rentetan berasingan kerana selepas memanggil strtok(input, limiter) ia mengembalikan token pertama.
Tetapi kita perlu memanggil fungsi pada rentetan input kosong lagi dan lagi sehingga kita mendapat NULL!
Biasanya, kami akan terus memanggil strtok(NULL, delim) sehingga ia mengembalikan NULL.Berikut ialah contoh fungsi strtok() daripada program C:
Demo Dalam Talian
#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; // Index to token list. We will append to the list while (token != NULL) { strcpy(token_list[num_tokens], token); // Copy to token list num_tokens++; token = strtok(NULL, " "); // Get the next token. Notice that input=NULL now! } // Print the list of tokens printf("Token List:</p><p>"); for (int i=0; i < num_tokens; i++) { printf("%s</p><p>", token_list[i]); } return 0; }
Apabila program di atas dilaksanakan ✎Reee
terhasil yang berikut rentetan input ialah "Hello Tutorials Point", kami cuba membahagikan perkataan mengikut ruang. Kami mendapat token pertama dengan menggunakan strtok(input, " "). Di sini petikan berganda ialah pembatas, yang merupakan rentetan aksara tunggal! Selepas itu, kami terus mendapatkan tag dengan menggunakan strtok(NULL, " ") dan gelung sehingga kami mendapat NULL daripada strtok().Atas ialah kandungan terperinci Apakah fungsi strtok() dalam bahasa C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!