C++新手问题,怎样将一个字符串按特定符号分割后存入其他的数组~

2024-11-15 11:18:39
推荐回答(4个)
回答(1):

自己看看有没有错。
#include
#include
#include

int main()
{
char *a[3];
char *buf ="这是第一行\n这是第二行\n这是第三行\n";
char *t, *pre = buf;
int i = 0, l;

while (t = strchr(pre, '\n'))
{
if (i >= 3)
break;

l = t - pre;
a[i] = (char *)malloc(l + 1);
strncpy(a[i], pre, l);
a[i][l] = '\0';
++i;
pre = t + 1;
}

for (i = 0; i < 3; ++i)
{
printf("%s\n", a[i]);
free(a[i]);
}

return 0;
}

回答(2):

char* a[3];

你这个定义就有问题,这个 表示每行只有3个字符

你还不如
string s[3];

回答(3):

重新装下就行了

回答(4):

subString()