Я использую tellg()
, чтобы получить размер некоторых файлов, и для этого проекта очень важно получить реальный/правильный размер файлов. Теперь я немного волнуюсь, потому что прочитал, что tellg() не работает отлично, но он может получить неправильный размер, может быть, больше, чем реальный размер. Например, здесь: tellg() function give wrong size of file?Как я могу получить реальный размер файла с C++?
Как я могу получить правильный размер? или не правда ли, что tellg
does'nt работает очень хорошо?
Это мой код с tellg()
:
streampos begin,end;
ifstream file_if(cpd_file, ios::binary);
begin = file_if.tellg();
file_if.seekg(0, ios::end);
end = file_if.tellg();
file_if.close();
size = end - begin;
В некоторых операционных системах (в частности, Linux) * другой * процесс может модифицируйте открытый файл, поэтому вопрос может не иметь смысла (другими словами, полученный размер всегда будет приблизительным). –
@BasileStarynkevitch нормально, но я не думаю, что проблема в том, что я нашел в связанном вопросе выше .. нет? – Droide