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

C++

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

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

30.12.2013, 05:43. Просмотров 810. Ответов 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);
    
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2013, 05:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как узнать размер файла (C++):

Размер файла - C++
Скрипт, который находит размер всех файлов указанного типа на указанном диске.(можно и 1 файла) вот мне нада узнать размер D:\1.txt

Определить размер файла - C++
Мне нужно определить размер какого-либо файла на языке Си: для этого мне нужно его открывать и вычислять через fseek и ftell. Среда...

Как определить размер изображения?? - C++
Подскажите, пожалуйста, как определить размер изображения ?? (С++).

Как получить размер функции? - C++
её начало я получаю с помощью ассемблера(offset), не получается получить её конец и вычислить её длину P. S. Borland c++ 6

как узнать трафик? - C++
как узнать трафик? Вот я создал форму интернет и там названия сайтов где я хожу, С двумя обновляемыми надписями (доступен - то есть...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Байт
Эксперт C
16062 / 10331 / 1540
Регистрация: 24.12.2010
Сообщений: 19,471
30.12.2013, 14:52 #2
filelength(int hangle)
hangle = fileno(FILE *f)

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

Как узнать размер используемой памяти процесса? - C++ Builder
Собственно, сабж. Возвращаемый размер должен совпадать с тем, что показывает диспетчер задач. Функция GetProcessMemoryInfo для этого не...

ListView, как отобразить имя файла и размер файла? - C++ Builder
Подскажите, как в ListView отобразить имя файла и размер файла. используя DirectoryListBox1 ????????? Т.е. поле - имя файла и поле размер...

Как узнать название файла? - C++ Builder
Здравствуйте у меня такой вопрос: Допустим у меня есть поле listbox и мне нужно выложить туда название файла, но чтобы сохранялась...

как узнать свойство Сaption файла - C++ Builder
У меня есть файлы форматов pdf, chm, djvu и мне надо управлять этими окнами через дескрипторы. Есть какая то функция которая возвращает...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.12.2013, 15:37
Ответ Создать тему
Опции темы

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