How to read words from a string in C language? (C言語で文字列から単語を読む方法は?)

C言語では、文字列処理関数を使用して、文字列から単語を読み取ることができます。以下は一般的な方法の1つです:

  1. strtok を使用します。
#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "Hello world, how are you?";
    char *token = strtok(str, " "); // 使用空格作为分隔符

    while (token != NULL) {
        printf("%s\n", token);
        token = strtok(NULL, " "); // 继续获取下一个单词
    }

    return 0;
}
  1. 文字列をループして、1つずつ文字が単語の区切り文字であるかどうかを確認します。
#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "Hello world, how are you?";
    int len = strlen(str);
    int i, j, start = 0;

    for (i = 0; i <= len; i++) {
        // 判断是否为分隔符,包括空格、逗号、句号等常见符号
        if (str[i] == ' ' || str[i] == ',' || str[i] == '.' || str[i] == '\0') {
            // 输出从 start 到当前位置的字符,即一个单词
            for (j = start; j < i; j++) {
                printf("%c", str[j]);
            }
            printf("\n");
            // 更新下一个单词的起始位置
            start = i + 1;
        }
    }

    return 0;
}

上記は、文字列内の単語を読み取るための一般的な2つの方法です。実際の状況に合わせて適切な方法を選択できます。

bannerAds