Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Работа с файлами (http://forum.oszone.net/showthread.php?t=178550)

D@n1k007 18-06-2010 19:34 1436992

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

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

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

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

pva 19-06-2010 10:34 1437312

какую книжку читаешь?
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));


D@n1k007 19-06-2010 16:06 1437461

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

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


Время: 01:11.

Время: 01:11.
© OSzone.net 2001-