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

C++

Войти
Регистрация
Восстановить пароль
 
Карандаша
2 / 2 / 0
Регистрация: 23.10.2011
Сообщений: 70
#1

Как узнать размер файла - C++

30.12.2013, 05:43. Просмотров 780. Ответов 5
Метки нет (Все метки)

Вобщем программа -кодировщик методом Хаффмана, взята из интернета.
Нужно добавить к ней вывод размера входного файла и сжатого..
Перерыла весь гугл, испробывала все методы, никак не могу вывести размер файлов...
Вот часть кода, где должен вычисляться размер . По логике он уже вычисляется. Но не выводит на экран. Пробывала раааазличными способами.....

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void Encoder::Work(char *in_name,char *out_name)
{
    int n; byte=0; byte_shift=1; write_count=0;
    long int fsize;
    long ExecTime;
    ExecTime=clock();
    input=fopen(in_name,"rb"); if(!input) {printf("in file not found\n");return;}
    fseek(input,0,SEEK_END);
    file_size=ftell(input); 
    if(!file_size) {printf("input file is empty\n");return;}
    output=fopen(out_name,"wb"); if(!output) {printf("out file io error\n");return;}
    fseek(input,0,SEEK_SET); fwrite(&file_size,1,sizeof(file_size),output);
    for(n=0; n<512; n++) tree[n].count=0,tree[n].p=tree[n].p1=tree[n].p2=-1;
    printf("[calc symbols]\n");
    for(n=0; n<file_size; n++) tree[(BYTE)getc(input)].count++;
    tree_root=MakeTree();   // создали дерево
    SetBits(tree_root,-1);  // расставили биты
    WriteAll();             // записали дерево в файл
    Dump();                 // вывели статистику в лог
    rewind(input);
    Compress();             // сжатие
    if(byte_shift!=1) fputc(byte,output);   // запись остатка битов
    fclose(input);
    fclose(output);
    ExecTime=clock()-ExecTime;
    printf("Execution time coding %ims\n",ExecTime);
    printf("Razmer\n",file_size);
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2013, 05:43     Как узнать размер файла
Посмотрите здесь:

Как узнать размер открытого файла - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;windows.h&gt; #include &lt;cstdlib&gt; #include &lt;stdio.h&gt; using namespace std; ...

Как узнать текущий размер копируемого файла? - C++
Здраствуйте! Как узнать текущий размер копируемого файла? У HTML-их нашел, а как у других не знаю. Заранее благодарен. GigaBit.

Как узнать размер файла? (студия 2013) - C++
Доброго времени суток, форумчане и гости! Есть небольшой код и хочется прикрутить определитель размера файлов в папке. Должно выводить имя...

Как узнать текущий размер файла, открытого для записи? - C++
File=CreateFile(FilePath.c_str(), GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);, потом в этот файл...

Узнать размер файла - C++
Дорогие форумчане! Есть у меня есть файл xxxxx.clk(все данные в нем строчные), он весит n-ое количество мегабайт. Нужно задать массив...

Узнать размер файла - C++
Мне нужно прочитать обычный текстовый файл. Я думаю это сделать с помощью одной из функций семейства get(). Для этого (и не только) мне...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
15842 / 10169 / 1522
Регистрация: 24.12.2010
Сообщений: 19,182
30.12.2013, 14:52     Как узнать размер файла #2
filelength(int hangle)
hangle = fileno(FILE *f)

Добавлено через 2 минуты
Вот тут
http://www.rsdn.ru/forum/cpp.applied/2746450.all
описаны и другие способы
Карандаша
2 / 2 / 0
Регистрация: 23.10.2011
Сообщений: 70
30.12.2013, 14:55  [ТС]     Как узнать размер файла #3
Большое спасибо)
Разобралась сама Х)
Подключением структуры проблема решилась)
Байт
Эксперт C
15842 / 10169 / 1522
Регистрация: 24.12.2010
Сообщений: 19,182
30.12.2013, 14:56     Как узнать размер файла #4
Все понятно. Вот ошибка (строка 27)
C++
1
printf("Razmer\n",file_size);
Формат вставить то нужно
C++
1
printf("Razmer %ld\n",file_size);
Карандаша
2 / 2 / 0
Регистрация: 23.10.2011
Сообщений: 70
30.12.2013, 15:09  [ТС]     Как узнать размер файла #5
Кстати да. Все мои способы что пробывала не проходили именно из-за того, что формат не был указан...
Подумать только, потратила два часа на поиск ошибки, и ведь не в одном примере при выводе не было этого формата...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2013, 15:37     Как узнать размер файла
Еще ссылки по теме:

Кроссплатформенно узнать размер файла. - Кроссплатформенная разработка
Я просмотрел множество способов узнать размер файла, но из них 1 - кроссплатформенный: STL #include &lt;fstream&gt; std::ifstream...

Не выходит узнать размер файла - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; void main() { std::ifstream input; long int size_of_file; ...

Узнать размер файла если он более 8 гб - C++ WinAPI
GetFileSizeEx работает только с файлами &lt;=8 гб. Как правильно узнать размер файла более 8 гб, и как узнать что он более 8 гб при...

Узнать размер файла больше 4гб - C++
сабж какой функцией можно узнать размер файла больше 4 гб (+ другие св-ва - опционально)? ++ переносимость - не зависит от оси

Узнать размер bmp файла в миллиметрах - C++ Builder
Код рабочий, но высота маленькая получается порядка 1 мм, где ошибка у меня? int W = Image1-&gt;Picture-&gt;Bitmap-&gt;Width; ...

Как узнать размер массива? - C++
Имею функцию template &lt;typename T&gt; int funk(T mas, T element) { //kod }


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Байт
Эксперт C
15842 / 10169 / 1522
Регистрация: 24.12.2010
Сообщений: 19,182
30.12.2013, 15:37     Как узнать размер файла #6
Цитата Сообщение от Карандаша Посмотреть сообщение
Кстати да. Все мои способы что пробывала не проходили именно из-за того, что формат не был указан...
Подумать только, потратила два часа на поиск ошибки, и ведь не в одном примере при выводе не было этого формата...
Ну уж такая доля наша, программерская... Тут бывало по суткам тратишь на полную чушь... Правда, потом начинаешь хохотать, как резаный. Так что и в этом есть свой кайф...
Yandex
Объявления
30.12.2013, 15:37     Как узнать размер файла
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru