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


Автор: Kuvaldis 30.5.2007, 23:04
Привет всем! (у меня еще такая советская майка была в детстве smile)
Вот самый урезенный вариант кода:
Код

//---------------------------------------------------------------------------
#include <fstream>
#include <iostream>
using namespace std;
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
    ifstream  in("file.doc", ios::binary); // входной файл
    {
        if ( ! in )
        {
            cout << "open in error" << endl;
            return 1;
        }
    }

    long  size_old;

    in.clear();
    in.seekg(0, SEEK_END);
    size_old = in.tellg();
    in.close();

    FILE*  fp;
    fp = fopen("file.doc", "r");
{
        if ( ! fp )
        {
            cout << "open in error" << endl;
            return 1;
        }
    }

    fseek(fp, 0, SEEK_END);
    size_old = ftell(fp);
    fclose(fp);

    return 0;
}  
//---------------------------------------------------------------------------



При открытии файла в стиле С проблем нет, размер получаю. С потоками какая-то загвоздка. 
Не могу понять, почему. Надеюсь, на вашу помощь

СУВ, Kuvaldis

Автор: archimed7592 30.5.2007, 23:12
Цитата(Kuvaldis @  30.5.2007,  23:04 Найти цитируемый пост)
    in.seekg(0, SEEK_END);

Код
in.seekg(0, ios::end)


Добавлено через 4 минуты и 40 секунд
http://www.cplusplus.com/reference/iostream/istream/seekg.html

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