Я пытаюсь поместить коэффициенты полиномов из массива char в массив int
У меня есть это:
char string[] = "-4x^0 + x^1 + 4x^3 - 3x^4";
и может маркировать его пробелом в
-4x ^ 0
х ^ 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++;
}
Однако я получаю сообщение об ошибке, что не могу преобразовать символ * в символ
on strncpy (temp [z], p, z);
error: invalid conversion from ‘char’ to ‘char*’
error: initializing argument 1 of ‘char* strncpy(char*, const char*, size_t)’
Как лучше всего это сделать?