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

C++

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

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

30.12.2013, 05:43. Просмотров 748. Ответов 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++
Как узнать текущий размер копируемого файла? C++
Кроссплатформенно узнать размер файла.
C++ Узнать размер файла
Как узнать размер массива? C++
Не выходит узнать размер файла C++
Как узнать размер файла? (студия 2013) C++
Как узнать размер открытого файла C++
Как узнать текущий размер файла, открытого для записи? C++
как узнать размер строки? C++
C++ WinAPI Узнать размер файла если он более 8 гб
C++ Узнать размер файла больше 4гб

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
15551 / 9893 / 1487
Регистрация: 24.12.2010
Сообщений: 18,507
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
15551 / 9893 / 1487
Регистрация: 24.12.2010
Сообщений: 18,507
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
Кстати да. Все мои способы что пробывала не проходили именно из-за того, что формат не был указан...
Подумать только, потратила два часа на поиск ошибки, и ведь не в одном примере при выводе не было этого формата...
Байт
Эксперт C
15551 / 9893 / 1487
Регистрация: 24.12.2010
Сообщений: 18,507
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