Всем привет! Подскажите как открыть файл на чтение если в имени файла или в пути есть русские буквы? Использую API (_lopen), у меня выдает ошибку. (прога консольная, кстати FAR тоже не открывает) Windows все файлы открывает.
Надо использовать CreateFileW, а не CreateFileA. С CreateFileW можно открыть файл хоть с именем на китайском .
Mika0x65 CreateFileA работает, если W то не работает. Спасибо помогло, конечно не на все файлы, есть файлы в которых имя и путь состоит из пробелов и символов, англ и русских букв --- на эти файл выходит ошибка eax=7bh (Error Invalid Name). На занятые файлы который Winda не дает доступ eax=20h (Error sharing violation)
test896 Ну ты прям колдун Кулебякин. То FAR не работает, то CreateFileW. Поделись опытом как тебе это удаётся
MirrorBlack Не знаю. Вообщем сделал обход по всему диску через FindFirstFile и FindNextFile прога консольная и чтоб отображались русские имена файлов на экране в начале проги стоит SetFileApisToOEM. Пишу на FASM. Все время путаница с этой кодировкой, мож что не так подскажи
Что-то мне подсказывает, что человек юзает FindFirstFileA / FindNextFileA, после которых само-собой CreateFileW работать не будет
как использовать FindNextFileW ? FindNextFileA (путь 'c:\*',0) как будет выгледеть у FindNextFileW? Буфер куда помещается имя найденного файла (260 байт) нужно расширять до 32000 ?
test896 Ты серьёзно шутки не понял? Однако как всё запущено... Во первых воспользуйся поиском формата UNICODE. Во вторых, тебе никто не поможет пока ты не поможеш себе сам. В третьих открывай свои "темы" в ветке для новичков. Ну и в четвёртых - не работает ТВОЯ программа а не функция. Ну очччень сомневаюсь что ты со своими знаниями способен обнаружить ошибку в винде.