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

โปรแกรม C เพื่อพิมพ์โทเค็นสตริง


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

ดังนั้น หากอินพุตเป็นแบบ s ="ให้เราดูสตริง tokenizing สนุก" ผลลัพธ์จะเป็น

Let
us
see
some
string
tokenizing
fun

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • token :=คำแรกโดยใช้ strtok(s, " ") ตัวคั่นคือ " "

  • ในขณะที่โทเค็นไม่เป็นศูนย์ ให้ทำ:

    • โทเค็นการแสดงผล

    • token :=โทเค็นถัดไปของ s จากนี้ไปส่ง NULL เป็นอาร์กิวเมนต์แรกของ strtok ที่มีช่องว่างตัวคั่นเดียวกัน " "

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

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

อินพุต

Let us see some string tokenizing fun

ผลลัพธ์

Let
us
see
some
string
tokenizing
fun