c++在输入时连续输入一长串字符,以回车结束,中间有空格,以空格为分界,把这些分成许多个子串,存在一个数组里
时间: 2023-05-18 18:06:19 浏览: 98
可以使用 C 语言中的字符串处理函数 strtok() 来实现这个功能。具体代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[1000];
char *token;
char *delim = " ";
char substrings[100][100];
// 读入一行字符串
fgets(str, 1000, stdin);
// 使用 strtok() 函数分割字符串
token = strtok(str, delim);
int i = 0;
while (token != NULL) {
strcpy(substrings[i], token);
token = strtok(NULL, delim);
i++;
}
// 输出分割后的子串
for (int j = 0; j < i; j++) {
printf("%s\n", substrings[j]);
}
return 0;
}
```
这个程序会读入一行字符串,然后使用 strtok() 函数将其分割成多个子串,存储在一个二维字符数组中。每个子串之间以空格为分隔符。最后,程序会输出所有分割后的子串。
阅读全文