Форум программистов, компьютерный форум CyberForum.ru

Быстрое чтение файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу, которая вычисляет среднее арифметическое ненулевых элементов введенного с клавиатуры массива целых чисел. http://www.cyberforum.ru/cpp-beginners/thread381660.html
Написать программу, которая вычисляет среднее арифметическое ненулевых элементов введенного с клавиатуры массива целых чисел. Ниже приведен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Введите элементы массива (10 целых чисел) в одной строке и нажмите <Enter>. -> 23 О 45 -5 12 О -2 30 О 64 Сумма элементов массива: 184...
C++ Аппаратное программирование клавиатуры. Доброго времени суток всем. Есть определённая задача - сделать сброс клавиатуры не перезагружая компьютер. Нарыл в дебрях интернета статейки - отключить, включить, сбросить и провести эхо-тест клавиатуры можно из под Windows XP посредством обращения напрямую к портам. Нарыл кусочки кодов - как это можно сделать. Но написать полноценный экзешник не могу. Так как не знаком с языком С++... http://www.cyberforum.ru/cpp-beginners/thread381658.html
C++ факториал
найти число нулей в конце факториала числа N по основанию каждого множителя K (1<=N<=1000000000, 2<=K<=1000) #include <iostream> typedef unsigned long long ulong; #include <vector> #include <sstream> #include <iomanip> using namespace std; const int base = 1000000000; class BigNumb {
Инкремент невалидного итератора C++
Привет. Этот вопрос задали знакомому на собеседовании... Что произойдет при инкременте невалидного итератора?
C++ Dll com-совместимая http://www.cyberforum.ru/cpp-beginners/thread381588.html
Подскажите пожалуйста, как в реализации обычная dll отличается от com-совместимой dll?
C++ Timer начало змейки Есть таймер и есть label1 таймер включен в таймере прописано Label1->Left= Left +1; и в результате Label1 перемещаетья примерно на 5 сантиметров влево и все, больше не двигается в чем дело, ведь он должен каждую секунду перемещать на чуть чуть то есть на одну единицу, а он прыгает и замирает. подробнее

Показать сообщение отдельно
Malysh-ok
 Аватар для Malysh-ok
1 / 1 / 0
Регистрация: 17.10.2013
Сообщений: 44
25.04.2015, 18:43     Быстрое чтение файла
День добрый.
Цитата Сообщение от Байт Посмотреть сообщение
Цитата Сообщение от Thinker
Буферизация всегда есть в текстовом и двоичном формате, теперь я это вижу. Но тогда как свой буфер точно такого же размера (а то и меньшего) в разы ускоряет процессы. Вот если встроенный буфер отключить, то собственный буфер сходит на нет.
Видимо fread не просто пересылает несколько байт из буфера, а еще о чем-то напряженно думает, потому лучше к нему обращаться пореже.
Так что мы оба оказались правы. что приятно.
Итоги дискуссии
1. Буфер создается для любого потока, если для его уничтожения не предпринимать специальных мер.
2. Тем не менее, в критических по времени случаях следует создавать собственный буфер, чтобы пореже обращаться к функциям fread, fwrite
Несколько вопросов:
1) Что подразумевается под "своим буфером"? То, что задаем в setvbuf() ?
Если да, то правилен ли код ниже и обеспечивает ли он макс. быстродействие?
C
1
2
3
4
5
6
7
8
9
BUFSIZ = 4096;
FILE f;
char buf[BUFSIZ];
f = fopen("test.tst", "rb");
setvbuf(f, buf, _IOFBF, BUFSIZ);
...
fread(buf, sizeof(char), BUFSIZ, f);
...
fclose(f);
2) Чем руководствоваться, при выборе значения BUFSIZ, если по условиям задачи нужно макс. скорость чтения файла и мин. затраты памяти?
 
Текущее время: 19:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru