Было бы полезно дать некоторые подробности о значениях. Если значения изначально были целыми числами, которые были преобразованы в массив символов для транспорта, то проблему можно решить, приведя ее к типу int. В противном случае, ваш лучший вариант - использовать такие функции stdlib.h, как atoi () и atoc ().
Исходя из вашего примера кода, похоже, что вы пытаетесь извлечь два значения из одного и того же массива символов. В этом случае я бы порекомендовал использовать memcpy () следующим образом.
/* Based on what you wrote above I am assuming name is 8 bytes */
int firstValueSize = 4/* whatever size in bytes the first number should be */;
int secondValueSize = 4/* Same with this */;
int *firstValue = (int)malloc(sizeof(int));
int *secondValue = (int)malloc(sizeof(int));
memcpy(firstValue, name, sizeof(firstValueSize));
memcpy(secondValue, name + firstValueSize, sizeof(secondValueSize));
Это должно работать, если они изначально были целыми числами. В противном случае вам придется использовать функции, упомянутые выше.