|
|
|
Быстрое чтение файла11.11.2011, 10:59. Показов 20831. Ответов 71
Метки нет (Все метки)
Здраствуйте. Я пишу программу, которая читает файлы порядка от нескольких килобайтов до максимум 3 Мб. Посоветуйте пожалуйста, какие функции и/или алгоритмы использовать для максимальнобыстрого чтения данных, представленных вещественными числами. Прошу прощения, если мой вопрос неправильно сформулирован.
3
|
|
| 11.11.2011, 10:59 | |
|
Ответы с готовыми решениями:
71
Быстрое чтение массива из файла Быстрое чтение и запись файлов
|
|
|
|
| 11.11.2011, 13:33 [ТС] | |
|
Если я правильно поняла, то ты предлагаешь предварительно загрузить данные из файла в массив, а потом получать данные из массива.
0
|
|
|
|
|||||||
| 11.11.2011, 13:35 | |||||||
2
|
|||||||
|
|
|
| 11.11.2011, 13:35 | |
|
Thinker, извините, что перебиваю вашу беседу... А разве потоки ввода-вывода C++ (и Си, кстати, тоже интересно) не буферизируют ввод, предварительно считывая кусок информации определённого размера из файла?
1
|
|
|
|
|
| 11.11.2011, 13:43 [ТС] | |
|
Спасибо за ответы, но меня больше интересует, что будет быстрее fread, fscanf или что-нибудь еще есть чего я не знаю
0
|
|
|
|
||||||
| 11.11.2011, 13:49 [ТС] | ||||||
|
А если я открою файл таким образом:
0
|
||||||
|
|
|||||||
| 11.11.2011, 13:53 | |||||||
|
Не по теме:
Такой строкой вы открыли файл в двоичном формате. А файл вы будете сами создавать программно или через блокнот? fscanf не корректно прочитает, откройте тогда файл в текстовом формате.
1
|
|||||||
|
|
|
| 11.11.2011, 14:02 [ТС] | |
|
Thinker, спасибо вам большое.
Я в своей программе сделала чтение из файла с помощью fscanf. Файл пока текстовый, но я планировала использовать бинарные файлы. Поэтому перепишу свою прогу с fread.
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|||
| 11.11.2011, 14:02 | |||
|
написано, что не буферизуются stdin, stdoun, если буфер специально не назначен. и еще есть функция setvbuf устанавливающая размер буфера
1
|
|||
|
|
|
| 11.11.2011, 14:10 | |
|
Байт, setvbuf для текстового формата. Конечно fread быстрее считывает, там же "сырые" байты информации. Буферизация зависит от формата, зачем же тогда при копировании файлов выделяют собственный буфер, а считывание по одному байту (без собственного буфера) оборачивается очень медленной работой программы. Можете эксперимент провести, скопируйте файл в двоичном виде с буфером и без. Если бы двоичные потоки буферизовались, то такого бы не было.
1
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 11.11.2011, 14:11 | |
|
2
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 11.11.2011, 14:18 | ||
Сообщение было отмечено как решение
Решениеhttp://www.codenet.ru/progr/cpp/sprd/setvbuf.php http://www.opennet.ru/man.shtm... &russian=0 ни слова о виде файла нету!
3
|
||
|
|
||
| 11.11.2011, 14:21 | ||
А как вам эта выдержка из вашей ссылки:_IOLBF Выполняется строчная буферизация. Реально ввод/вывод выполняется, когда читается или записывается новая строка.
1
|
||
|
|
|
| 11.11.2011, 14:24 [ТС] | |
|
Thinker и Байт, спасибо вам большое. Я узнала про буферизацию потока.
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|||
| 11.11.2011, 14:29 | |||
.
2
|
|||
| 11.11.2011, 14:29 | |
|
Помогаю со студенческими работами здесь
20
Быстрое преобразование фурье wave файла
Быстрое считывание 32кб из файла 7гб Быстрое создание пустого файла определенного размера Быстрое создание бинарного файла заданного размера Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|