![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 02.02.2008
Сообщений: 25
|
![]()
Всем привет
в MFC есть ткой компонент CFileFind вообщем с его помощью можно узнать информацию о файле (имя,путь,дата создания,дата изменнения...) но я не нашел как узнать размер файла? кнонибудь знает? собственно к делу надо сравнить два файла к примеру первый C:\File\MyOwnFile1.xz и D:\MyOwnFile1.xz если они одинаковы то вернем 1 елзе 0 значит идея такая сравнимаем все данные (время создания ,изменения и размер) если одинаковые то файл кторый D:\MyOwnFile1.xz копируем вместо C:\File\MyOwnFile1.xz буду очень благодарен если поможите кодом) а так и советом хватит) |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]()
В MFC нет компонентов, там только классы. Размер файла дает метод CFileFind::GetLength (в старых версиях был еще CFileFind::GetLength64, теперь он не нужен)
http://msdn2.microsoft.com/en-us/lib...8VS.80%29.aspx примеры есть по ссылке |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 02.02.2008
Сообщений: 25
|
![]()
Угу я так и думал но ГетЛенгс у меня компилируеться а при запуске дает ошибку
хз почему ( fprintf(fp,"\tLength\t%s\n",(LPCTST R) iFile->GetLength()); ошибка такая: Unhandled exception at 0x102141eb (msvcr70d.dll) in cs.exe: 0xC0000005: Access violation reading location 0x00000136. а все другие функции работают( может не та к юзаю? |
![]() |
![]() |
#4 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]()
Практически наверняка
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 02.02.2008
Сообщений: 25
|
![]()
спасибо огромное!
при такой записи все работает: fprintf(fp,"\tLength\t%d\n", iFile->GetLength()); __________________________________ тип такой CFileFind *iFile; iFile=new CFileFind(); __________________________________ еще вопросик какой параметр у методов работающие с временим типо GetCreationTime (xz) GetLastAccessTime(xz) GetLastWriteTime(xz) и хотелосьбы узнать что знасит _T(стринг) это перевод в чар? или что? |
![]() |
![]() |
#6 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]()
Это был вопрос для того, чтобы Вы сами разобрались куда какой тип
![]() ![]() Цитата:
Код:
Код:
Такая и похожие вещи используются повсеместно применительно к строкам и функциям, прямо или косвенно с ними работающим, для облегчения компиляции ANSI или Unicode - версий приложений. Например таких функций, как SetWindowText или SendMessage в Windows нет вообще с незапамятных времён. Вместо этого есть конструкции вот такого плана: Код:
То есть все анси-функции заменить на юникод-аналоги можно заменить всего лишь определив символ UNICODE. Такая же ситуация со строками - макрос _T(x) (он же _TEXT(x) ) заменяет написанные "человеческим" языком строки либо на (аналогичные) ANSI, либо на двухбайтовые UNICODE еще до компиляции. Точно такая же история и со стандартными функциями, вроде fprintf. Последний раз редактировалось B_N; 06.02.2008 в 20:45. |
|
![]() |
![]() |
#7 |
Пользователь
Регистрация: 02.02.2008
Сообщений: 25
|
![]()
большое спасибо за разъяснения!
вот моя функция сравнения файлов! Код:
а у меня их много (спечиально насоздовал) где проблема в алгоритме? |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]()
Не работает потому, что Вы пытаетесь вкруговую проходить подкаталог, уже однажды целиком пройденный, не начиная поиск заново. Вот так исправьте: (5-я и 9-я строки
Код:
|
![]() |
![]() |
#9 |
Пользователь
Регистрация: 02.02.2008
Сообщений: 25
|
![]()
Еще раз спаибо!
Извени что мучаю) а как задать так чтобы принимались в расчет только файлы исключая папки (т.е. если у нас для всех файлов так: "*.*") то для только файлов? мне еще предстоит дорабоать алгоритм чтоб он еще думал над вложеными папками (и у папак еще о вложеных папках\файлов) вот как то так) это как решить через рекурсию? буду пытаться... Последний раз редактировалось Horror; 07.02.2008 в 00:17. |
![]() |
![]() |
#10 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужна помощь: выбор файлов исходя из имени файлов | Antik163RUS | Помощь студентам | 4 | 19.06.2008 21:20 |
Печать pdf файлов из списка файлов в Excel | АПС | Microsoft Office Excel | 5 | 15.04.2008 16:04 |
Поиск файлов | student_63 | Общие вопросы Delphi | 6 | 07.03.2008 19:00 |
Копирование файлов на FTP | Dj_smart | Общие вопросы Delphi | 2 | 05.03.2008 09:04 |
Открытие файлов *.txt | Bill Gates | Общие вопросы Delphi | 3 | 28.11.2007 22:44 |