Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Hàm tách chuỗi (String tokenisation) trong C


Phần này xem cách tách chuỗi (tokenize) trong C. Thư viện C có hàm char *strtok(char *str, const char *delim) tách chuỗi str thành chuỗi token dùng dấu phân tách delim.

Khai báo strtok():

char *strtok(char *str, const char *delim)

Nhận hai tham số: str - nội dung chuỗi bị sửa đổi, tách thành chuỗi con (token); delim - chuỗi C chứa dấu phân tách, có thể thay đổi giữa các lần gọi. Trả về con trỏ đến token đầu tiên. Trả về NULL nếu không còn token.

Ví dụ mã

#include <string.h>
#include <stdio.h>

int main() {
    char str[80] = "This is - www.tutorialspoint.com - website";
    const char s[2] = "-";
    char *token;
    /* lấy token đầu tiên */
    token = strtok(str, s);
    /* duyệt các token khác */
    while(token != NULL) {
        printf(" %s\n", token);
        token = strtok(NULL, s);
    }
    return 0;
}

Kết quả

This is
www.tutorialspoint.com
website