我正在尝试将 char 数组中的多项式系数放入一个 int 数组
中,我有这个:
char string[] = "-4x^0 + x^1 + 4x^3 - 3x^4";
并可以通过空间将其标记为
-4x^0
x^1
4x^3
3x^4
所以我试图得到: -4, 1, 4, 3 进入一个 int 数组
int *coefficient;
coefficient = new int[counter];
p = strtok(copy, " +");
int a;
while (p)
{
int z = 0;
while (p[z] != 'x')
z++;
char temp[z];
strncpy(temp[z], p, z);
coefficient[a] = atoi(temp);
p = strtok(NULL, " +");
a++;
}
但是,我收到一个错误,我无法在 strncpy(temp[z], p, z); 上将 char* 转换为 char;
error: invalid conversion from ‘char’ to ‘char*’
error: initializing argument 1 of ‘char* strncpy(char*, const char*, size_t)’
最好的方法是什么?