Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
4 / 4 / 0
Регистрация: 03.01.2009
Сообщений: 50

Метод определяющий размер файла

18.05.2010, 12:11. Показов 1683. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, возник такой вопрос - есть ли у CFileDialog метод, подсчитывающий размер файла в байтах?

Открываем текстовый файл:

C++
1
2
3
4
5
6
CFileDialog OpenAndRead(TRUE,(LPCTSTR)".txt",NULL,
OFN_HIDEREADONLY,(LPCTSTR)" Text Files (*.txt) |*.txt||");
...
OpenAndRead.DoModal();      
    CString file_name=OpenAndRead.GetPathName();
    nam_e=CreateFile(file_name,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);
и нужно определить его длину. Есть метод GetLength, но он относится к классу CFile, а у нас объект OpenAndRead класса CFileDialog. Как быть?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.05.2010, 12:11
Ответы с готовыми решениями:

java script, определяющий размер экрана
Добрый день, уважаемые форумчане! У меня на сайте все сделано одним флэш-объектом, резиновый дизайн к которому применить на данном этапе...

Метод SaveCopyAs увеличивает размер файла. Как исправить?
В Excel VBA тиражирую файл для разных пользователей, соответственно для каждого изменяю значение некоторых ячеек и для объекта...

Метод, который возвращает размер файла в удобном для человека виде
Привет! Есть ли в .НЕТ уже готовый метод, который бы преобразовывал FileInfo.Length, который возвращает размер в байтах, в удобный для...

4
 Аватар для Manjak
270 / 176 / 46
Регистрация: 12.03.2010
Сообщений: 494
18.05.2010, 12:21
Открывать файл не нужно, достаточно воспользоваться _stat
1
4 / 4 / 0
Регистрация: 03.01.2009
Сообщений: 50
18.05.2010, 14:04  [ТС]
Спасибо, а если выбираем файл и определяем его размер таким образом, то что указать fstat(handle,buffer) как первый параметр?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<sys\stat.h>
...
HANDLE nam_e;
struct stat statbuf;
...
CFileDialog OpenAndRead(TRUE,(LPCTSTR)".txt",NULL,OFN_HIDEREADONLY,(LPCTSTR)" Text Files (*.txt) |*.txt||");
...
OpenAndRead.DoModal();          
CString file_name=OpenAndRead.GetPathName();
nam_e=CreateFile(file_name,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);
ReadFile(nam_e, mass_text,1000, &n,NULL);//открывали для заполнения массива
...
/* получить информацию о файле */
fstat (...,&statbuf);
printf("Размер в байтах: %ld\n",statbuf.st_size);
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
18.05.2010, 18:57
Ну, если уж у тебя в ходу CString, CFileDialog и прочее - что мешает использовать CFile::GetStatus ?
C++
1
2
3
4
5
6
7
8
9
10
CFileStatus fs;
if (CFile::GetStatus(filename, fs))
{
    ULONGLONG len = fs.m_size;
    // .... твой код .....
}
else
{
    // файл не существует или недоступен, обработать ошибку....
}
1
4 / 4 / 0
Регистрация: 03.01.2009
Сообщений: 50
19.05.2010, 09:46  [ТС]
О, класс! спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.05.2010, 09:46
Помогаю со студенческими работами здесь

Метод, определяющий элемент, кратный 17
10. Задан числовой массив, состоящий из n элементов (n&lt;=100). Написать метод, определяющий, есть ли среди элементов с нечетными номерами...

Написать метод, определяющий, делится ли введенное число на 2, 5, 3, 6, 9
Напишите метод, который будет определять: Делится ли введенное число на 2,5,3,6,9.

Составить метод, определяющий, являются ли слова анаграммами
Пожалуйста помогите решить: Объявить метод Anagr(w1, w2), который получает два слова и возвращает true, если слова являются анаграммами...

Написать метод, определяющий, является ли массив палиндромом
Написать класс с методом определяющий, является ли массив палиндромом (Одинаково читается справа и слева). Пример: 1234321

Метод, определяющий, сколько времени прошло с заданной даты
Необходимо спроектировать и разработать метод, определяющий, сколько времени прошло с заданной даты. С помощью этого методы выведите в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru