Как исправить путь к файлу? - PullRequest
0 голосов
/ 19 июня 2010

У меня есть набор локальных путей, и некоторые из них пишутся с большой буквы (C: \ SOMEDIR \ SOMEFILE.TXT). Мне нужно преобразовать их в их настоящие имена (как показано в проводнике). Предложи способ плз.

Ответы [ 3 ]

1 голос
/ 19 июня 2010

Передайте путь к файлу в FindFirstFile, в результате WIN32_FIND_DATA.cFileName будет в правильном регистре, считанном из файловой системы.

0 голосов
/ 19 июня 2010

Вы ищете , что : короткие имена против длинных имен?

Обратите внимание, что Explorer применяет некоторые хитрые преобразования к именам файлов. Самый простой способ - протестировать все это и выполнить свою функцию для этой цели.

В противном случае, вы можете попытаться получить доступ через OLE к функциям Проводника, чтобы вывести список файлов в каталоге. Но это ОЧЕНЬ болезненно и подвержено ошибкам кода. (Почему я предполагаю, что MS отказалась в конце концов и предоставила функции, с которыми я связался выше в Win2K).

0 голосов
/ 19 июня 2010

Полагаю, вы всегда можете использовать OpenFile, чтобы получить дескриптор, а затем использовать метод здесь , чтобы получить имя файла из этого дескриптора.Я не пробовал, но, похоже, он дает "имя исследователя"

Получение имени файла из дескриптора файла

Я не знаюлюбой прямой вызов API для этого в одной строке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...