Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Работа с файлами

Ответить
Настройки темы
C/C++ - Работа с файлами

Аватара для D@n1k007

Старожил


Сообщения: 181
Благодарности: 5


Конфигурация

Профиль | Отправить PM | Цитировать


Всем доброе время суток! Очень старательно и напряженно изучал С++... Все было хорошо пока не дошел до работы с файлами. В книжке которая у меня сейчас, написана полная ахинея и "вода".
Меня не так много в этой области интересует, если кто может подскажите:

1. Если есть текстовый файл с числами написанными через пробел, как их прочитать?
2. Если количество чисел в файле не известно, как его можно узнать? Вроде как для этого используется функция eof, но не разобравшись в первом второе проверить не могу
3. Обобщающий вопрос 2 предыдущих Как создать массив из чисел находящихся в файле? Самое не понятное как создать массив размерность которого заданна переменной, а не константой

Простите если кому вопросы покажутся глупыми, просто интересующей меня инфы ни на форуме ни в интернете не нашел.

Буду благодарен за любую информацию и помощь!

Отправлено: 19:34, 18-06-2010

 
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


какую книжку читаешь?
1) найдено гуглем: http://www.programmingforums.org/post148440.html
Код: Выделить весь код
#include <fstream>
std::ifstream fin("1.txt");
int number;
if ((fin >> number).good()) std::cout << "got number " << number << "\n";
2) посчитать (сколько раз удачно прочитается)
Код: Выделить весь код
#include <algorithm>
#include <iterator>
#include <fstream>
#include <iostream>
typedef std::istream_iterator<int,char> num_iter;
std::ifstream fin("1.txt");
std::cout << "number count is " << std::count(num_iter(fin), num_iter()) << "\n";
3) читать до тех пор, пока читается и складывать в массив
Код: Выделить весь код
#include <algorithm>
#include <vector>
#include <iterator>
#include <fstream>
#include <iostream>
typedef std::istream_iterator<int,char> num_iter;
std::ifstream fin("1.txt");
std::vector<int> array;
std::copy(num_iter(fin), num_iter(), std::back_inserter(array));
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:34, 19-06-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для D@n1k007

Старожил


Сообщения: 181
Благодарности: 5

Профиль | Отправить PM | Цитировать


pva,
Спасибо! Не одного меня интересовал видимо такой вопрос
Читаю "Алгоритмизация и программирование процедур обработки информации" А. И. Щедрина

У меня есть вопрос, вот все примеры сводятся к тому что числа будут складываться в массив, а можно без массива на прямую "выдергивать" их из файла и проводить с ними манипуляции? Просто если складывать в массив смысл использования файла теряется, ведь загрузка памяти не уменьшается А если речь идет о тысячах чисел, так это вообще...

Последний раз редактировалось D@n1k007, 19-06-2010 в 16:16.


Отправлено: 16:06, 19-06-2010 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Работа с файлами

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Инфо - Работа с INF-файлами -devICE- Наборы обновлений для Windows XP/2003/Windows 7 6 17-10-2022 01:11
Работа с файлами ramo Программирование в *nix 5 23-04-2007 12:33
Работа с файлами в  Pascal paladin Программирование и базы данных 2 26-04-2004 11:31
Работа с *reg файлами Artya Хочу все знать 4 08-09-2003 14:32
Работа с *.lng файлами Artya Хочу все знать 2 18-03-2003 14:43




 
Переход