在C語言中,可以使用一些內置的函數來分解字符串。以下是一個簡單的示例,展示了如何使用strtok()
函數來分解一個字符串:
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world! This is a test.";
const char delimiter[2] = ","; // 定義分隔符
char *token;
/* 獲取第一個分隔符 */
token = strtok(str, delimiter);
/* 循環打印分解后的字符串 */
while (token != NULL) {
printf("%s\n", token);
token = strtok(NULL, delimiter);
}
return 0;
}
這個程序會將給定的字符串 str
使用逗號 ,
作為分隔符進行分解,并打印出分解后的每個子字符串。strtok()
函數會改變原始字符串,所以在調用該函數之前最好先創建一個原始字符串的副本。
注意:strtok()
函數不能處理多個連續的分隔符,也不能處理空格。如果需要更復雜的分解功能,可以考慮使用其他庫函數,如 strsep()
或者自己實現一個字符串分解函數。