Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2010, 22:26   #1
Ael
Пользователь
 
Регистрация: 06.09.2010
Сообщений: 11
По умолчанию Char строку в int массив (C)

Доброго времени суток.
Прошу помощи в решении тривиальной задачи - в файле три строки, первые две не важны, а вот третья срока вида:
1 2 3 4 16 29 935
Нужно все эти числа забить в int массив.

Я пытался сделать это с помощью getchar и fscanf, но они возвращают символы, и числа состоящие из нескольких символов развалятся. Наверное, можно склеить числа из символов, но нет ли способа решить задачу проще и короче?
Ael вне форума Ответить с цитированием
Старый 05.11.2010, 22:36   #2
Vitali_B
 
Регистрация: 07.05.2010
Сообщений: 3
По умолчанию

Можно считать символы одного числа(от пробела до пробела) в массив char и использовать функцию atoi (возвращает int) или atof (возвращает double).
Vitali_B вне форума Ответить с цитированием
Старый 05.11.2010, 23:16   #3
Ael
Пользователь
 
Регистрация: 06.09.2010
Сообщений: 11
По умолчанию

Да, но очень уж это уныло, нет ли другого способа?
Ael вне форума Ответить с цитированием
Старый 05.11.2010, 23:22   #4
Vitali_B
 
Регистрация: 07.05.2010
Сообщений: 3
По умолчанию

Это по крайней мере, решает задачу "склеивание чисел из символов".

Вам нужно написать простенький цикл.

Последний раз редактировалось Vitali_B; 05.11.2010 в 23:25.
Vitali_B вне форума Ответить с цитированием
Старый 05.11.2010, 23:25   #5
Ael
Пользователь
 
Регистрация: 06.09.2010
Сообщений: 11
По умолчанию

Я не знаю, если честно, вот и спрашиваю. Вроде, как то делали через fscanf, но я слабо представляю как.
Ael вне форума Ответить с цитированием
Старый 05.11.2010, 23:50   #6
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Код:
...
int a[],i=0;
while(!feof(file)){
fscanf(file,"%i",a+i);
};
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 06.11.2010, 00:22   #7
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Используете файловые потоки - и читайте как обычные числа, вводимые с клавиатуры.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конверт int массива в char массив Raptor Помощь студентам 14 23.03.2010 00:50
из char в int llin Общие вопросы C/C++ 13 11.07.2008 06:51
из char в int?? Mika Общие вопросы C/C++ 4 20.06.2008 15:18
перевод из int в массив char. Freeman Общие вопросы C/C++ 5 30.05.2008 17:49
Есть таблица - В ней три поля int, char, char нужно чтобы данные заносились в таблицу Mysql Muahahaha PHP 8 27.03.2008 11:17