Моя текущая проблема заключается в чтении неизвестного числа целых чисел от stdin
. Мой подход заключается в использовании gets() для хранения всей строки в виде массива char (char str[50]
). Я пытаюсь проанализировать массив символов и преобразовать каждую строку string в целое число и сохранить в массиве int. Я попытался использовать strtol (nums[i]=strtol(A, &endptr, 10)
, где A
- это массив символов. Однако endptr, похоже, ничего не хранит, когда остальная часть A также является числом. Например, если A является «8 hello» endptr = hello, но когда A является " 8 6 4" endptr ничего.Лучший способ преобразования массива строк в массив Int в C
есть ли лучший подход? возможно ли это с atoi
? Любая помощь очень ценится! Спасибо!
char A[1000];
long nums[1000];
printf("Enter integers: ");
gets(A);
char *endptr;
int i=0;
while(endptr!=A){
nums[i]=strtol(A, &endptr, 10);
i++;
}
Итерации по массивам и преобразование каждого числа. В чем проблема? Покажите свой код. Это не кодирование. – Olaf
Неясный вопрос без кода. Можете ли вы разместить какой-нибудь код, пожалуйста? –
Если A = "12 35 78", как бы я мог выполнить итерацию по массиву символов? Я мог бы преобразовать его в «1 2 3 5 7 8», но это не то, что мне нужно. –