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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2009, 20:30   #1
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию float

Здравствуйте. В текстовом документе есть число: 0.01

Как можно его правильно поместить в переменную float a;?

ifstream src("file.txt");
a+=src.get();
....
не катит
Артэс вне форума Ответить с цитированием
Старый 10.12.2009, 20:32   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

и не должно, get возвращает один единственный символ типа char.
Код:
src >> a;
netrino вне форума Ответить с цитированием
Старый 10.12.2009, 20:49   #3
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию

Как понимаю, это читает строку или весь файл. А что если чисел много, и разделены они пробелом: 0.001 0.01...... ?

На пробел можно было бы проверить через src.get() но... придется опять посимвольно считывать
Артэс вне форума Ответить с цитированием
Старый 10.12.2009, 20:59   #4
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

это не читает строку или весь файл, это форматированный ввод в стиле C++, то есть считывает число типа float в переменную. Если их много, то можно запихнуть это в цикл.
Код:
for(int i = 0; i < number_of_numbers; i++)
    src >> a;
netrino вне форума Ответить с цитированием
Старый 10.12.2009, 21:07   #5
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию

ну про цикл я знаю... а то что src>> цельные числа считывает, это замечательно, и проверок не нужно никаких... и пробел автоматически учитывает как разделитель чисел?
Артэс вне форума Ответить с цитированием
Старый 10.12.2009, 21:11   #6
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Артэс Посмотреть сообщение
и пробел автоматически учитывает как разделитель чисел?
Да. Всё делает
netrino вне форума Ответить с цитированием
Старый 10.12.2009, 21:12   #7
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию

а годится только для флоат, или других типов тоже?
Артэс вне форума Ответить с цитированием
Старый 10.12.2009, 21:15   #8
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

А попробовать никак? ) Все типы, в которые можно читать с помощью cin, можно использовать и тут
netrino вне форума Ответить с цитированием
Старый 10.12.2009, 21:21   #9
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию

Уже попробовал со флоат. Вообще замечательно. Спасибо Большое
Артэс вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
умножение int на float Olejik C++ Builder 6 24.09.2009 23:04
Битовые операции с float Dayne Общие вопросы C/C++ 2 24.06.2009 05:43
float to int span4 SQL, базы данных 7 01.06.2009 10:57