|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.12.2011, 10:04 | #1 | |
Новичок
Джуниор
Регистрация: 29.12.2011
Сообщений: 4
|
Чтение данных из файла txt, язык C
В общем, пишу я простенькую программу.
Пользователь заходит в неё, вводит дату, вводил количество нескольких параметров работы. Это действие происходит день, через день. Программа должна уметь запоминать эти данные и в любой момент вывести сумму работы за определенный период, заданный пользователем. Написал я код, который только записывает данные, а как их считывать ума не приложу. Подскажите, как это сделать? (формат записи в txt файле не важен) Вот собственно код. Цитата:
Последний раз редактировалось Sneeze; 29.12.2011 в 10:08. |
|
29.12.2011, 12:03 | #2 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
Я бы посоветовал не записывать слова "дата, яблок, апельсинов", а просто делать записи по 3 целых числа. Считывать потом проще - записями по 3 целых числа)
Форматируйте код, будьте людьми.
|
29.12.2011, 17:54 | #3 |
Новичок
Джуниор
Регистрация: 29.12.2011
Сообщений: 4
|
Есть и такой вариант. У меня вопрос, как организовать цикл таким образом, чтобы можно было считывать значения с нескольких фалов, названия которых будут 1, 2, 3, 4 и т.д.?
|
29.12.2011, 18:02 | #4 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
2. Начать главный цикл 2.1 начать перебор имен файлов, пока не перебрали все имена - считали из файла, чье имя соответствует индексу цикла 2.1 - см пункт 2.1 3. Закончили главный цикл 4. Закрыли файлы. 5. Профит! |
|
29.12.2011, 20:28 | #5 | |
Новичок
Джуниор
Регистрация: 29.12.2011
Сообщений: 4
|
то есть что-то типо
Цитата:
Вроде бы =) Хотя не уверен на 100% |
|
29.12.2011, 21:06 | #6 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Код:
Код:
|
30.12.2011, 05:12 | #7 |
Новичок
Джуниор
Регистрация: 29.12.2011
Сообщений: 4
|
Возможно, вы меня не поняли. Имя должно быть не a.txt, а значение переменной a.txt
Вот это возможно реализовать? То есть у меня идея такая. Каждую новую дату создается новый текстовый файл с названием, как дата. А далее он тупо перебирает файлы в нужном мне промежутке. |
30.12.2011, 11:12 | #8 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 224
|
А если:
Код:
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
|
30.12.2011, 14:34 | #9 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Код:
Потом ты запускаешь цикл, в котором счетчик цикла конвертируется в символьное представление, и собирается правильное символьное имя файла. Операции анализа символьной строки и её модификации, как правило "дорогие". Пожирают кучу процессорного времени. Если нужна производительность, можно заранее закэшировать имена обрабатываемых файлов: 1 Этап. Подготовка данных: - Создаём массив стрингов, в которых будем хранить имена обрабатываемых файлов: std::vector< std::string> myFileNameArray; //массив имен обрабатываемых файлов - Раcсчитаем имена обрабатываемых файлов: InitFileNameArray( size_t MaxNumber, myFileNameArray); где: MaxNumber - максимальное количество обрабатываемых файлов myFileNameArray - массив, который будет содержать список готовых имен обрабатываемых файлов Пример использования: InitFileNameArray(2, myFileNameArray); В результате работы функции, список имен будет следующим: "0.txt", "1.txt" 2 Этап. Штатная работа: Количество обрабатываемых файлов известно: myFileNameArray.size() вернёт количество имен Сами имена тоже известны: myFileNameArray[index] вернёт имя файла ассоциированное с данным индекстом. То есть, myFileNameArray[0] вернёт "0.txt", myFileNameArray[1] вернёт "1.txt" и тд А дальше, делай с этими именами все что захочешь. 3 Этап. Выгрузка из памяти: вектор, и стринги при самоуничтожении сами освободят всю захваченную динамически память. Таким образом, на 3м этапе нужно будет только позакрывать все те файлы, что ты пооткрывал на 2м этапе. Смысл прост: твоя программа нуждается в качественных инструментах, ускоряющих и облегчающих разработку. Если ты не ведаешь таких инструментов у себя под рукой - сделай их сам. Последний раз редактировалось _Bers; 30.12.2011 в 14:47. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
чтение и отображение из ".txt" файла в dataGridView | Leva_89 | C# (си шарп) | 0 | 23.03.2011 23:23 |
if и чтение+вывод из файла .txt | webber9989 | PHP | 4 | 24.08.2010 22:13 |
PL/SQL, построчное чтение txt файла | seriousMalish | SQL, базы данных | 0 | 09.06.2010 21:31 |
Чтение из файла(язык С) | Naper214 | Помощь студентам | 5 | 12.04.2010 00:11 |
Чтение из TXT файла | soonner | Общие вопросы Delphi | 1 | 14.03.2009 13:52 |