How to read words from a string in C language? (C言語で文字列から単語を読む方法は?)
C言語では、文字列処理関数を使用して、文字列から単語を読み取ることができます。以下は一般的な方法の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つずつ文字が単語の区切り文字であるかどうかを確認します。
#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つの方法です。実際の状況に合わせて適切な方法を選択できます。