Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ฟังก์ชัน strtok() ในภาษา C คืออะไร


คำอธิบาย

strtok() เป็นฟังก์ชันใน ใช้แยกสตริงเป็นโทเคน (Tokens) ตามตัวคั่น (Delimiter) คืนค่าโทเคนแรกครั้งแรก แล้วต้องเรียกซ้ำด้วย NULL เพื่อดึงโทเคนถัดไป

Syntax

char* strtok(char* string, const char* limiter);

ตัวอย่าง

#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;
}

ผลลัพธ์

Token List:
Hello
Tutorials
Point!

ข้อควรระวัง

  • strtok() จะแก้ไขสตริงต้นฉบับ (แทรก '\0' แทนตัวคั่น)
  • ไม่ Thread-safe (ใช้ static buffer)
  • ถ้าต้องการรักษาสตริงต้นฉบับ ให้ copy ไว้ก่อน