Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Узнать размер файла в байтах


Автор: Anton Vatchenko 25.2.2008, 19:00
Как сделать, если я файл открываю:

int file = open(....);
close(file);

Автор: MAKCim 25.2.2008, 19:21
Код

struct stat buf;
fstat(file, &buf); /* размер в buf.st_size */

Автор: Anton Vatchenko 25.2.2008, 20:47
Где-то я уже видел, что он не в байтах меряет размер (точнее, какие-то проблемы в юникоде)...

Автор: Mayk 25.2.2008, 21:10
Цитата(Anton Vatchenko @  26.2.2008,  00:47 Найти цитируемый пост)
Где-то я уже видел, что он не в байтах меряет размер

Цитата(stat(2))

              off_t     st_size;    /* total size, in bytes */
 

Цитата(Anton Vatchenko @  26.2.2008,  00:47 Найти цитируемый пост)
(точнее, какие-то проблемы в юникоде)...

да какая разница что внутри.

Автор: bsa 27.2.2008, 12:21
Есть более универсальный способ:
Код
off_t size = lseek(fd, 0, SEEK_END);
lseek(fd, 0, SEEK_SET);

Автор: Gleb91 28.3.2008, 21:56
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)