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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сложение/вычитание времение и дат http://www.cyberforum.ru/cpp-beginners/thread1261968.html
Собственно как сложить/вычесть две даты? Какие функции для этого существуют? Входные данные приходят в строке char. Спасибо.
C++ Как грамотней писать объявление указателя? Ну собственно сабж. int* a; или int *a; Куда Фен Шуй рекомендует звёздочку ставить ? :) http://www.cyberforum.ru/cpp-beginners/thread1261965.html
C++ Запись массива структур в бинарный файл
Есть структура Owner: struct Owner{ char name; unsigned int purse; short catb; void addcat(short num); }; void Owner::addcat(short num){ for(int i(0);i<100;i++) { ...
C++ Алгоритм Евклида для одномерных массивов
Всем привет. Задача в общем такая: Нужно реализовать алгоритм нахождение НОДа(Наибольшего общего делителя) двух длинных целых чисел. Нашел Алгоритм Евклида(блок схема алгоритма прилагается), для...
C++ Рассчитать все возможные варианты для 3 знаков http://www.cyberforum.ru/cpp-beginners/thread1261933.html
Дано: 1 2 0 Найти все возможные комбинации 10 разрядного числа (пример: 1021020021) и чтобы можно задавать разные условия для кол-ва однёрок нулей и двоек, например: 1-от 1 до 5 0-от 2 до 2...
C++ Как вычисляются функции Вычислить F=f(a)-5f^3(sin(b/2))+1/f(1+c^4), где f(x)=3x^2-2x^2+7, при a=5.08, b= -0.65, c=3.87 Должно быть 3 функции, которые принимают в качестве параметров значение, ссылку и указатель. Для... подробнее

Показать сообщение отдельно
worldown
44 / 49 / 21
Регистрация: 22.06.2009
Сообщений: 183
24.09.2014, 13:59
имхо, через ftell, возвращает объем в байтах. Пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* ftell example : getting size of a file */
#include <stdio.h>
 
int main ()
{
  FILE * pFile;
  long size;
 
  pFile = fopen ("myfile.txt","rb");
  if (pFile==NULL) perror ("Error opening file");
  else
  {
    fseek (pFile, 0, SEEK_END);   //пробежка по файлу
    size=ftell (pFile);
    fclose (pFile);
    printf ("Size of myfile.txt: %ld bytes.\n",size);
  }
  return 0;
}


Добавлено через 9 минут
Хотя в вашем коде реализация идет через поток, то попробуйте так:
C++
1
2
3
4
5
std::ifstream::pos_type filesize(const char* filename)
{
    std::ifstream in(filename, std::ifstream::ate | std::ifstream::binary);
    return in.tellg(); 
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru