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

Не выходит узнать размер файла - C++

Восстановить пароль Регистрация
 
ReasonX7
 Аватар для ReasonX7
47 / 46 / 2
Регистрация: 11.12.2011
Сообщений: 146
20.07.2013, 19:46     Не выходит узнать размер файла #1
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
#include <iostream>
#include <fstream>
 
void main()
{
     std::ifstream input;
    long int size_of_file;
 
    input.open("in.txt");
    if (input.is_open())
    {
        // Узнаем размер файла.
        long int begin, end;
        input.seekg(0, std::ios::beg);   // Начало файла.
        begin = input.tellg();
        input.seekg(0, std::ios::end);   // Конец файла.
        end = input.tellg();
        input.seekg(std::ios::end, std::ios::beg);
 
        size_of_file = end - begin; // Почему end == begin?! 
 
        std::cout << size_of_file << std::endl;
    }
    else
        std::cout << "Couldn\'t open file." << std::endl;
 
    system("pause");
}
Почему-то получается, что переменная end равна begin.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2013, 19:46     Не выходит узнать размер файла
Посмотрите здесь:

Узнать размер файла C++
Как проверить выходит ли цикл за размер массива C++
Как узнать текущий размер копируемого файла? C++
C++ Узнать размер файла
Узнать размер массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
20.07.2013, 19:49     Не выходит узнать размер файла #2
1) не объявлена input вообще
2) у меня отлично работает. проверь, например, наличие файла.
ReasonX7
 Аватар для ReasonX7
47 / 46 / 2
Регистрация: 11.12.2011
Сообщений: 146
20.07.2013, 19:50  [ТС]     Не выходит узнать размер файла #3
Странно, уже работает...
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.07.2013, 20:27     Не выходит узнать размер файла #4
ReasonX7, много лишних действий:
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
#include <iostream>
#include <fstream>
 
void main()
{
     std::ifstream input;
    long int size_of_file;
 
    input.open("in.txt");
    if (input.is_open())
    {
        // Узнаем размер файла.
        //long int begin, end;
        //input.seekg(0, std::ios::beg);   // Начало файла. И так в начале
        //begin = input.tellg();
        input.seekg(0, std::ios::end);   // Конец файла.
        size_of_file = input.tellg(); // это и есть размер
        // input.seekg(std::ios::end, std::ios::beg);
 
        //size_of_file = end - begin; // Почему end == begin?! 
 
        std::cout << size_of_file << std::endl;
    }
    else
        std::cout << "Couldn\'t open file." << std::endl;
 
    system("pause");
}
Yandex
Объявления
20.07.2013, 20:27     Не выходит узнать размер файла
Ответ Создать тему
Опции темы

Текущее время: 15:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru