Fungsi ini serupa dengan fungsi strtok(). Satu-satunya perbezaan utama ialah _r, yang dipanggil fungsi reentrant.
Fungsi reentrant ialah fungsi yang boleh diganggu semasa pelaksanaan. Fungsi jenis ini boleh digunakan untuk menyambung semula pelaksanaan.
Oleh itu, fungsi reentrant adalah selamat benang, yang bermaksud ia boleh diganggu dengan selamat oleh benang tanpa menyebabkan sebarang kerosakan. Fungsi
strtok_r() mempunyai parameter tambahan yang dipanggil konteks. Dengan cara ini fungsi boleh dipulihkan di lokasi yang betul. Sintaks
fungsi strtok_r() adalah seperti berikut:
#include <string.h> char *strtok_r(char *string, const char *limiter, char **context);
Berikut ialah atur cara C menggunakan fungsi strtok_r()-
rrdemonstrasi
Langsungdi atas program dilaksanakan, berikut akan dihasilkan Result-
#include <stdio.h> #include <string.h> int main(){ char input_string[] = "Hello Tutorials Point"; char token_list[20][20]; char* context = NULL; char* token = strtok_r(input_string, " ", &context); 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_r(NULL, " ", &context); } // 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; }
Atas ialah kandungan terperinci Fungsi strtok_r() ialah fungsi dalam bahasa C Fungsinya adalah untuk memisahkan rentetan kepada satu siri subrentetan.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!