如何将字符串标记为字母并将其放在多维数组中?我收到以下错误“从char*' to
char”转换无效。
void tokens( char *sptr)
{
int i;
char *p, tokens[100][16];
while (p != NULL)
{
for ( i = 0; i <= 100; i++)
{
for (int j = 0; j <= 16; j++)
{
p = strtok (sptr, " ,.-");
tokens[i][j] = p;
}
}
}
}
答案 0 :(得分:0)
我不确定你是否真的想在这里手动复制每个角色。
但你可以这样做:
int i, j;
for(i = 0; i < 100; i++)
{
p = strtok(sptr, " ,.-");
if(p == NULL) break;
for (j = 0; j < 16; j++)
{
tokens[i][j] = p[j];
if(*p++ == 0) break;
}
tokens[i][j] = 0; /* add ending \0 */
}
或更简单:
int i, j;
for(i = 0; i < 100; i++)
{
p = strtok(sptr, " ,.-");
if(p == NULL) break;
strcpy(tokens[i], p); /* strncpy would be better */
}