#include <string.h>
#include <stdio.h>
int main()
{
char str[80] = "aaa bbb ccc\r\naaa1 bbb1 ccc1\r\n";
const char s[2] = " "; // 字符串里可以是一个分隔符,也可以是分隔符的集合
const char ss[8] = "\r\n";
char *token[3];
char *num[3][3];
int i = 1;
/* 获取第一个子字符串 */
token[0] = strtok(str, ss);
/* 继续获取其他的子字符串 */
while (token[i-1] != NULL)
{
// printf("%s\n", token[i-1]);
token[i] = strtok(NULL, ss);
/* 获取第i行,第一列的子字符串 */
num[i-1][0] = strtok(token[i-1],s);
// printf("%s\n", num[0][0]);
/* 继续第i行获取其他的列子字符串 */
for (int j=1;num[i-1][j-1] != NULL;j++)
{
/* code */
printf("%s\n", num[i-1][j-1]);
num[i-1][j] = strtok(NULL,s);
}
i++;
}
return (0);
}
c语言分离字符串为二维数组
![](https://img-home.csdnimg.cn/images/20240711042549.png)