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


Автор: T0ohtik 3.5.2008, 11:55
Привет всем! Мне надо читать текст из файла в переменную. Память в переменной я хочу выделять динамически при помощи оператора new. Т.к. размер файла заранее не известен, то хотелось бы узнать есть ли какие функцию для определения размера. А если нет, то какой наиболее приемлемый способ можно применить? Пишу на С++. Winapi не предлагать. 

Автор: Rififi 3.5.2008, 12:44
для файловых дескрипторов - lseek/fseek/_tell
для потоков - seekg/tellg

Автор: T0ohtik 3.5.2008, 13:34
Цитата(Rififi @  3.5.2008,  12:44 Найти цитируемый пост)
для файловых дескрипторов - lseek/fseek/_tellдля потоков - seekg/tellg

может я что то не понимаю, но этож вроде для определения указателя в файле. А мне надо что то типа такого:
Код

ofstream ofs("temp.txt",ios::read)
int nFileSize = filesize("temp.txt");
char *chTextFromFile = "\0";
chTextFromFile = new char[nFileSize];
int nCountLetters = 0;
while(!ofs.eof())
{
   chTextFromFile[nCountLetters] = ofs.get();
   nCountLetters++;   
}


Автор: ama_kid 3.5.2008, 13:45
T0ohtik, тебе надо сначала переместить указатель в конец, а затем получить информацию о текущем положении указателя, что и помогают сделать функции, указанные Rififi.

Автор: T0ohtik 3.5.2008, 13:48
Понял! Всем спасибо!

Автор: JackYF 3.5.2008, 17:47
T0ohtik, ещё вопрос решённым помечай.

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