Функция SetFileApisToOEM

Функция SetFileApisToOEM заставляет функции файлового ввода - вывода использовать кодовую страницу символьного набора OEM. Эта функция полезна  для 8-разрядных консольных операций ввода вывода данных.

Синтаксис 

VOID SetFileApisToOEM(VOID);

Параметры

У этой функции параметров нет.

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

У этой функции возвращаемых значений нет.

Замечания

Функции файлового ввода - вывода (I/O), кодовая страница которых устанавливаются  с помощью SetFileApisToOEM являются функциями, экспортируемые библиотекой KERNEL32. DLL, которая принимает или возвращает имя файла. Функция SetFileApisToOEM устанавливает кодовую страницу на  процесс, а не на поток или на компьютер.

Функция SetFileApisToOEM дополняет функцию SetFileApisToANSI, которая заставляет тот же самый набор функций файлового ввода - вывода использовать  кодовую страницу символьного набора ANSI.

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

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

Чтобы решить проблему несовместимости кодовой страницы, для консольных программ лучше использовать Unicode. Консольные программы, которые используют Unicode является намного более универсальными, чем те, которые используют 8-разрядные консольные функции. Запрещая этот метод решения, консольная программа может вызвать функцию SetFileApisToOEM, чтобы заставить набор функций файлового ввода - вывода использовать строки символьного набора OEM, а не строки символьного набора ANSI. Используйте функцию SetFileApisToANSI, чтобы установить в этих функциях обратно кодовую страницу ANSI.

Когда мы имеем дело с командными строками, консольная программа должна получить командную строку  в форме Unicode, а затем конвертировать ее к форму OEM, используя соответствующие функции с символами  OEM

Обратите внимание! на то, что  в этом случае массив в параметре argv командой строки  функции main содержит  строки символьного набора ANSI.

Смотри также 

Обзор Управление файламиФункции, используемые в управлении файлами, AreFileApisANSI, FindFirstFileA, SetConsoleCP,  SetConsoleOutputCP SetFileApisToANSI, WriteConsoleA

Размещение и совместимость SetFileApisToOEM

К

Windows XP

Да 

л

Windows 2000 Professional

Да

и

Windows NT Workstation

Да

е

Windows Me

Да

н

Windows 98

Да

т

Windows 95

Да

 
С

Windows Server 2003

Да

е Windows 2000 Server Да
р Windows NT Server Да
в    
е    
р    

Используемая библиотека

Kernel32.lib

Используемая DLL -
 Заголовочный файл  

- объявлено в

Winbase.h

 - включено в

Windows.h

 Unicode

Нет

 Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz