Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не могу опредилить размер файла

359
02 апреля 2004 года
Lazy_Man
47 / / 28.03.2004
Выполняю код:
if (f = open("c:/1/file.txt", O_CREAT) == -1)
{
Form1->Close();
}
long filesize = filelength(f);
close(f);
Файл создается, а функция filelength(f)
возвращает -1.
Подскажите, в чем дело.
10
02 апреля 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Lazy_Man
Файл создается, а функция filelength(f)
возвращает -1.


Блин, сегодня вроде не первое апреля уже, чтобы такие приколы кидать. Ты что, хочешь, чтобы файл создавался для тебя сразу с данными? Или писать в него должен все-таки не дядя Петя?

359
02 апреля 2004 года
Lazy_Man
47 / / 28.03.2004
Цитата:
Originally posted by smartsoft

Блин, сегодня вроде не первое апреля уже, чтобы такие приколы кидать. Ты что, хочешь, чтобы файл создавался для тебя сразу с данными? Или писать в него должен все-таки не дядя Петя?


Какая разница пустой файл или с данными, если файл пустой, функция должна вернуть 0, а не -1.
Хочу добавить, что этот код работает под DOS,естественно если убрать упоминание о форме, а в Builder 5 работать не хочет.

4
03 апреля 2004 года
mike
3.7K / / 01.10.2002
из хелпа:

Код:
#include <string.h>
#include <stdio.h>
#include <fcntl.h>
#include <io.h>

int main(void)
{
   int handle;
   char buf[11] = "0123456789";

   /* create a file containing 10 bytes */
   handle = open("DUMMY.FIL", O_CREAT);
   write(handle, buf, strlen(buf));

   /* display the size of the file */
   printf("file length in bytes: %ld\n", filelength(handle));

   /* close the file */
   close(handle);
   return 0;
}


А я бы сделал так:

 
Код:
FILE *f=fopen("filename.txt","rt");
fseek(f,0,SEEK_END);
printf(" File size: %d",ftell(f));
fclose(f)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог