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

Размер и выделение памяти под открытие файла. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Правильно ли построен класс http://www.cyberforum.ru/cpp-beginners/thread349525.html
STRUCT.cpp #include "STRUCT.h" STRUCT::STRUCT() { clrscr(); printf(" Введите количество спортсменов: "); scanf("%d", &count); //Ввод количества участников min = init_athletes(all, count); printf("\n Самый юный участник:\nМесто в реестре: %d\nФамилия: %s\nИмя: %s\nВозраст:"
C++ Можно ли на базе массива реализовать контейнер Можно ли на базе массива реализовать контейнер? Если да, то как это будет происходить? http://www.cyberforum.ru/cpp-beginners/thread349522.html
C++ Заполнить двумерный массив следующим образом: 1 24 25 ... 120 2 ... 26 ... 119
Заполнить двумерный массив следующим образом: 1 24 25 ... 120 2 ... 26 ... 119 ... ... ... ... 1 14 ... ... 110 12 13 36 ... 109
Перенести первые к элементов в конец C++
дан одномерный массив М из 28 элементов. Перенести первые к элементов в конец: М, М,..., М,М,..., М
C++ Составить программу, которая меняет местами две любые строки массива http://www.cyberforum.ru/cpp-beginners/thread349514.html
Дан двумерный массив. Составить программу, которая меняет местами две любые строки массива.
C++ Вывести в файл используя fin Здравствуйте! Считываю что-то через fin>>! Как мне вывести результат в файл!? Если cout то выводить в экран консоли, а как вывести в файл? Заранее благодарен! Добавлено через 1 минуту Так подключаю файл input ifstream fin ("input.txt"); подробнее

Показать сообщение отдельно
KorPaEv
 Аватар для KorPaEv
53 / 29 / 3
Регистрация: 08.07.2011
Сообщений: 174
09.09.2011, 10:36     Размер и выделение памяти под открытие файла.
Всем привет.
Уважаемые знатоки, вопрос в следующем)

Значит задача такая, есть некий файл бинарный.
Размер не известный (компилятору). Я его открываю, читаю все что там есть и вывожу на экран.
Подскажите как определить размер этого файла и запихать все что там есть в буфер, который как раз будет динамическим (расширяемым в зависимости от размера файла)?
Ну а затем вывести все это на экран.
Привожу свой код ниже (буфер определяю статическим). Мне это не нужно.
P.S. В перспективе данные файла будут подаваться в реалтайме, поэтому по этому вопросу буду рад выслушать на будущее советы.
Пишу на C++, работаю с потоками поэтому fopen, seeks и т.д мне тоже не нужно.

Код.

Код
#include <fstream>
#include <iostream>

using namespace std;

const unsigned int buf_size = 0x4000; //вот тут задаю сам буфер

int main()
    {
		char *buffer;

        ifstream f_op("text", ios::binary);
        if (!f_op)
            cerr<<"Error file open";
        else
            cout<<"File open!!! Text this file:\n";

		buffer=new char(buf_size);

        while (!f_op.eof())
            {
            f_op.read((char *)buffer, 1); //читаю по одному байту, тоже плохо какие идеи? В идеале мне читать надо блочно по 4 байта например, для скорости обработки текста.
            cout<<*buffer;
            }
        f_op.close();

		delete buffer;
    }
Добавлено через 3 часа 22 минуты
Неужели нет никаких идей ни у кого?((
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru