Я работаю над заданием, и как часть его мне нужно извлечь целое число из строки.
Я пытался использовать функцию atoi()
, но она всегда возвращает 0
Итак, я переключился на strtol()
, но он все еще возвращает 0
.
Цель состоит в том, чтобы извлечь целые числа из строки и передать их в качестве аргументов другой функции. Я использую функцию, которая затем использует эти значения для обновления некоторых данных (update_stats
).
Пожалуйста, имейте в виду, что я довольно плохо знаком с программированием на языке C, но это был мой попытка:
void get_number (char str[]) {
char *end;
int num;
num = strtol(str, &end, 10);
update_stats(num);
num = strtol(end, &end, 10);
update_stats(num);
}
Цель этого в строке "e5 d8"
(например). Я бы извлек * 5
и 8
из этой строки.
Формат строки всегда одинаковы.
Как я могу это сделать?