| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > CFile не открывает путь |
| Автор: Ka40k 23.12.2009, 21:45 | ||
| Здравствуйте. Пишу небольшой файл менеджер с использование 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 25.12.2009, 18:58 |
| да, похоже не находит именно изза отсутсвия экранирования слэшей. еще обрати внимание, у листбокса есть метод CListBox::Dir, возможно тебе будет проще вопользоваться им |
| Автор: Ka40k 26.12.2009, 09:47 | ||
Спасибо, CListBox::Dir немного неудобен А как можно ещё раз проэкранировать слеши? Есть ли аналог пхп функции addslashes? Пересмотрел все методы у CString, нету такого :( |
| Автор: voov 26.12.2009, 11:40 | ||
| Вообще надежнее пользоваться обратным слэшами. Их не нужно экранировать и ОС их понимает. Есть метод CStringT::Replace Вот этот код работает.
|