Вы можете использовать strtol
, sscanf
или atoi
для преобразования строки в int. Например:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main() {
char *str[3] = {"10", "20 test of strtol\n", "30"};
int a = atoi(str[0]);
printf("a = %d\n", a);
char *ptr;
long int b = strtol(str[1], &ptr, 10); // you can alse use strtoll for long long int
printf("b = %ld, string: %s", b, ptr);
int c;
sscanf(str[2], "%d", &c);
printf("c = %d\n", c);
return 0;
}
Вывод:
a = 10
b = 20, string: test of strtol
c = 30
В вашем коде uga[0]
- это указатель, который указывает на символ. Так что (int) uga[0]
просто приведите адрес указателя char
.