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

โปรแกรม C แสดงโทเคน (Tokens) ของสตริง


คำอธิบายปัญหา

สมมติว่าเรามีสตริง s ที่เป็นประโยคประกอบด้วยหลายคำ เราต้องพิมพ์แต่ละคำในบรรทัดใหม่ สามารถใช้ฟังก์ชัน strtok() จากไลบรารี string.h ฟังก์ชันนี้รับสตริงและตัวคั่น (delimiter) ซึ่งในที่นี้คือช่องว่าง " "

ตัวอย่าง

หากอินพุตเป็น s = "Let us see some string tokenizing fun" ผลลัพธ์จะเป็น:

Let
us
see
some
string
tokenizing
fun

ขั้นตอนการแก้ปัญหา

  1. เรียก strtok(s, " ") เพื่อดึงโทเคนแรก
  2. วนลูป while โทเคนไม่เป็น NULL:
    • พิมพ์โทเคน
    • เรียก strtok(NULL, " ") เพื่อดึงโทเคนถัดไป

โค้ดตัวอย่าง

#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, " ");
    }
    return 0;
}

อินพุต

Let us see some string tokenizing fun

เอาต์พุต

Let
us
see
some
string
tokenizing
fun