SetFileApisToANSI

Функция SetFileApisToANSI указывает набору файловых функций Win32 использовать кодировку ANSI. Эта функция полезна для 8-битных консольных операций ввода-вывода.
VOID SetFileApisToANSI(VOID);

Параметры

Отсутствуют.

Возвращаемое значение

Нет.

Замечания

Функция SetFileApisToANSI дополняет функцию SetFileApisToOEM, которая указывает набору файловых функций Win32 использовать кодовую страницу с кодировкой OEM.

8-битные консольные функции используют по умолчанию кодировку OEM. Все остальные функции должны использовать кодовую страницу ANSI по умолчанию. Это означает, что строки, возвращаемые консольными функциями могут быть не корректно обработаны другими функциями, и наоборот. К примеру Если функция FindFirstFileA возвращает строку, содержащую некоторые расширенные символы ANSI, и при этом 8-битные функции установлены для использования кодировки OEM, то функция WriteConsoleA не отобразит строку корректно.

Используйте AreFileApisANSI для обнаружения в какой кодовой странице набор файловых функций работает в данный момент. Используйте SetConsoleCP и SetConsoleOutputCP для установки кодовой страницы для 8-битных консольных функций.

Для разрешения проблемы несовместимости кодовых страниц лучше всего использовать кодировку Unicode. В этом случае приложение будет более гибким. Другой способ — использовать функцию SetFileApisToOEM для указания множеству файловых функций Win32 использовать кодировку OEM. Используйте функцию SetFileApisToANSI для установки кодовой страницы обратно в ANSI.

Функции SetFileApisToANSI и SetFileApisToOEM действуют на следующее множество Win32 функций:

Функция Описание
_lopen открыть существующий файл
CopyFile копировать файл
CreateDirectory создать каталог
CreateFile создать/открыть объект (файл, канал, ...)
CreateProcess создать новый процесс
DeleteFile удалить файл
FindFirstFile начать поиск файловых объектов
FindNextFile продолжить поиск файловых объектов
GetCurrentDirectory получить текущий каталог
GetDiskFreeSpace получить информацию о диске
GetDriveType получить типа диска
GetFileAttributes получить файловые атрибуты
GetFullPathName получить полный путь
GetModuleFileName извлекает полный путь для указанного модуля.
GetModuleHandle получить хендл запущенного модуля
GetSystemDirectory возвращает путь к системного каталогу
GetTempFileName создает имя для временного файла
GetTempPath возвращает путь к %TEMP% каталогу
GetVolumeInformation возвращает информацию о файловой системе
GetWindowsDirectory возвращает путь к каталогу Windows
LoadLibrary загрузить исполняемый модуль
LoadLibraryEx загрузить исполняемый модуль
MoveFile переименовать файл/каталог
MoveFileEx переименовать файл/каталог
OpenFile создать/открыть/удалить файл
RemoveDirectory удалить каталог
SearchPath поиск файла
SetCurrentDirectory установить текущий каталог
SetFileAttributes установить файловые атрибуты

При работе с командной строкой консольное приложение может получить командную строку в Unicode и потом конвертировать ее в OEM, используя соответствующие функции. Заметьте также, что функция argv использует кодовую страницу ANSI.

Смотрите также:
SetFileApisToOEM