![]() |
|
|
![]()
|
|
| Ka40k |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 23.12.2009 Репутация: нет Всего: нет |
Здравствуйте. Пишу небольшой файл менеджер с использование MFC на Dialog based приложении.
Вот функция поиска всех файлов в папке и их выводом в список:
Если указать путь в FindFile вручную то всё сработает и найдёт все файлы в нужной папке, но вот если путь приходит в функцию по параметру, например "C:\Program Files\", получается строка "C:\Program Files\*", то просто ничего не находит :( m_statiс - компонент static text, в который я вывожду текущее состояние. m_list - CListBox со списком фалов. Использую Visual C++ 6.0 У меня есть предположение что путь теряет экранирование слешей. К примеру воожу то я, если вручную "C:\\Program Files\\*", хотя если в m_static он отображается нормально, то должен ведь нормально в CFile подпадать... Если кто может, подскажите, а то совсем запутался... |
|||
|
||||
| voov |
|
|||
![]() Патамушта мы пилоты ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 29.11.2007 Репутация: 8 Всего: 8 |
да, похоже не находит именно изза отсутсвия экранирования слэшей.
еще обрати внимание, у листбокса есть метод CListBox::Dir, возможно тебе будет проще вопользоваться им |
|||
|
||||
| Ka40k |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 23.12.2009 Репутация: нет Всего: нет |
Спасибо, CListBox::Dir немного неудобен А как можно ещё раз проэкранировать слеши? Есть ли аналог пхп функции addslashes? Пересмотрел все методы у CString, нету такого :( Это сообщение отредактировал(а) Ka40k - 26.12.2009, 09:47 |
|||
|
||||
| voov |
|
|||
![]() Патамушта мы пилоты ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 29.11.2007 Репутация: 8 Всего: 8 |
Вообще надежнее пользоваться обратным слэшами. Их не нужно экранировать и ОС их понимает.
Есть метод CStringT::Replace Вот этот код работает.
Это сообщение отредактировал(а) voov - 26.12.2009, 11:45 |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
это называется прямым слешем ('/'), а обратный такой: ('\') да, и обратные нужно экранировать как-то так: "C:\\Program Files\\My Cool App" Это сообщение отредактировал(а) zkv - 27.12.2009, 05:56 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |