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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 55, средняя оценка - 4.93
Mephistotel
Сообщений: n/a
#1

Узнать размер файла - C++

04.10.2008, 23:42. Просмотров 6846. Ответов 3
Метки нет (Все метки)

Мне нужно прочитать обычный текстовый файл. Я думаю это сделать с помощью одной из функций семейства get(). Для этого (и не только) мне нужно узнать длину файла (т.е. сколько считывать символов).
Мой первый (очень убогий) вариант:
считываю с помощью get() символы из файла, прибавляя каждый раз счетчик (чтобы узнать размер фалйа), потом закрываю его. Далее открываю снова файл, выделяю массив символов нужно размера, куда посимвольно считываю опять из файла. Думаю все итак ясно)) Хочется работоспособный способ)
Каким образом это можно сделать? Есть ли какие-либо для этого специальные константы и т.п. в классе ios?
Т.к. вывод форматированный (т.е. текст), то верно ли утверждение "количество символов = количеству байт в файле, т.к. под тип char отводится 1 байт"
И просвятите, пожалуйста ещё по нескольким вопросам:
1. В какой кодировке считывает файл программа, использующая стандартные средства С++ для работы с файлми (файловые потоки)?
2. Имеет ли вообще значение кодировка (как я понимаю что да)
3. В какой кодировке хранится текст в самом файле в формате .txt (полагаю что в ASCII)? Всегда ли так? Если в другой, то как правильно прочитать файл?
4. Если установить указатель на конец файла и считать указатель функцией tellp(), то будет ли это длина файла?
5. Каким образом в п.4 будут обрабатываться "конец файла", "\0" и " " (пробел)?
И если небольшой экскурс подробный по этим вопросам (можно с углублением), буду очень признателен!
Т.к. эти темы практически не освещаются (например Лафоре "ООП на С++" и т.п.)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2008, 23:42     Узнать размер файла
Посмотрите здесь:

Узнать размер файла - C++
Дорогие форумчане! Есть у меня есть файл xxxxx.clk(все данные в нем строчные), он весит n-ое количество мегабайт. Нужно задать массив...

Не выходит узнать размер файла - C++
#include <iostream> #include <fstream> void main() { std::ifstream input; long int size_of_file; ...

Узнать размер файла больше 4гб - C++
сабж какой функцией можно узнать размер файла больше 4 гб (+ другие св-ва - опционально)? ++ переносимость - не зависит от оси

Как узнать размер открытого файла - C++
#include <iostream> #include <fstream> #include <windows.h> #include <cstdlib> #include <stdio.h> using namespace std; ...

Как узнать текущий размер копируемого файла? - C++
Здраствуйте! Как узнать текущий размер копируемого файла? У HTML-их нашел, а как у других не знаю. Заранее благодарен. GigaBit.

Как узнать размер файла? (студия 2013) - C++
Доброго времени суток, форумчане и гости! Есть небольшой код и хочется прикрутить определитель размера файлов в папке. Должно выводить имя...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TGrey[WoLf]
39 / 39 / 1
Регистрация: 14.09.2008
Сообщений: 685
04.10.2008, 23:51     Узнать размер файла #2
Для этого есть команда... Я ее не помню, можешь в гугле поискать.
Vourhey
Почетный модератор
6477 / 2252 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
05.10.2008, 01:05     Узнать размер файла #3
1. есть файловые потоки и для ASCII, и для юникода.
2. Имеет.
3. Хех. В какой запишешь - в той и хранится.
4. Насколько помню, да.
5. Ошибка дальнейшего чтения.

Добавлено через 14 минут 15 секунд
А TGrey[WoLf] прав по поводу размера. Есть, например, GetFileSize...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2008, 12:18     Узнать размер файла
Еще ссылки по теме:

Как узнать текущий размер файла, открытого для записи? - C++
File=CreateFile(FilePath.c_str(), GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);, потом в этот файл...

Узнать размер массива - C++
есть 2 указателя на первый элемент массива и указатель на элемент после последнего можно ли как-то узнать размер этого массива не...

Узнать размер консоли - C++
Как узнать размер консольного окна, куда программа выводит данные? Сколько символов "влазит" по вертикали и горизонтали. ...

Узнать размер динамического массива - C++
Здравствуйте. Пытаюсь сделать динамический массив и вывести его размерность. Выводится размерность = 4, подскажите пожалуйста где я...

как узнать размер строки? - C++
есть массив указателей string **str на объекта класс string; как узнать размер строки, записанной, например, в *str?

Как узнать размер массива - C++
В задаче нужно для решения узнать размер массива. Если sizeof() возвращает кол-во занятой памяти в байтах, и sizeof(char)=2, то ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
TGrey[WoLf]
39 / 39 / 1
Регистрация: 14.09.2008
Сообщений: 685
05.10.2008, 12:18     Узнать размер файла #4
Возьми для примера создай 1 ТХТ файл сохрани на диск, посмотри его размер. Потом открой заново добавь 1 символ, сохрани и посмотри размер, добавь еще 1 символ и сново глянь размер и т.д.
Yandex
Объявления
05.10.2008, 12:18     Узнать размер файла
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru