![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Как переименовать папку с файлами Средствами С Спп (не System и т.д)
-------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
как ни странно -- rename()
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
странно
MoveFile долбил че-то а вот с удапением директории тоже глюки hunter не подскажешь что нибудь гениальное? -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
_rmdir
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Понятноhttp://forum.vingrad.ru/html/emoticons/rtfm.gif
Корочи дело к ноче findfirst не признает папку с именем 2 папкой как же я (программаhttp://forum.vingrad.ru/html/emoticons/cool.gif -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Это смотря как флаги в findfirst настроить. Она может только папки признавать, если есть желание...
|
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
FA_DIREC че то лажу прогоняет именно флаг
if( ffblk.ff_attrib ==FA_DIREC ) --??? Это ладно if( ffd.dwFileAttributes ==FILE_ATTRIBUTE_DIRECTORY ) по WIN32_FIND_DATA ffd; HANDLE hr; не узнает папку с именем 'цифра' тогда как с именем 'буква' OK! -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
if( ffd.dwFileAttributes ==FILE_ATTRIBUTE_DIRECTORY )
А разве так правильно? Там только этот флаг должен присутствовать? Там может еще быть флаг "Архивный" "Системный" надо проверять не на равенство флагу, а на его присутствие там Например так: if( (ffd.dwFileAttributes&&FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY) |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Так не прет if( (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY ) Так работает Равно как и if( ffd.dwFileAttributes ==FILE_ATTRIBUTE_DIRECTORY ) // найдена папка Но Оказывается все гон про если цифра то не признает ! Если имя из одного символа то не видит как папку ??? -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Насчет && - это я перестарался
Если не признает из 1 символа, может там маска как-то неправильно задана? Чудеса какие-то... |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Вот код может кому не в лом.
Хорошая функция еще бы работала как надо Создаю папку "D:\\folder\\$$$\\a" -- задачя удалить папку $$$ и все ее содержимон результат ПЛОХО! Создаю папку "D:\\folder\\$$$\\aa" -- задачя та-же результат OТЛИЧНО! Где ошибка или сходить за поллитрой -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Возможно, ошибка кроется здесь. Ведь нигде не проверяется, существуют ли символы по смещениям 0..2. Ведь в случае короткого имени ffd.cFileName[2] кажись вообще непонятно на что ссылается... |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Интересно сделано условие:
if( (ffd.cFileName[0] !='.' && ffd.cFileName[1] !='\0') || (ffd.cFileName[0] !='.' && ffd.cFileName[1] !='.' && ffd.cFileName[2] !='\0') ) Допустим у нас любое имя файла из 1 символа. Первому условию - не удовлетворяет Второму условию - тоже не удовлетворяет Результат: Не работает! Добавлено @ 18:33 Хороший все-таки форум. Пока пишешь ответ - за тебя уже кто-нибудь ответит. Хорошо, когда народу много - долго ждать не приходится. А я про него только недавно узнал. Все сидел на Xportal... (Кстати почему-то рухнул) |
|||
|
||||
| VectorMan |
|
||||
|
Antihero ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 9.4.2006 Репутация: 1 Всего: 4 |
sizeof(Temp) у тебя 4 байта (размер указателя), а не размер выделенной памяти |
||||
|
|||||
| apook |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Вы правы ошибка здесь!
VectorMan учтем Может кто предложит решение хотя вопрос решен но как то не .... написал функцию типа strstr только на точное совпадение if( (strstrA( ffd.cFileName, "." ) ==-1) && (strstrA( ffd.cFileName, ".." ) ==-1) ) -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
||||
|
|||||
| VectorMan |
|
|||
|
Antihero ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 9.4.2006 Репутация: 1 Всего: 4 |
strcmp чем не понравилась? |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Пропарился как всегда Но все ж одно и то-же Поизящней бы да опять думать сколько можно? -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |