Функция SetFileApisToANSI


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

Синтаксис

VOID SetFileApisToANSI(VOID);

Параметры

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

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

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

Замечания

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

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

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

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

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

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

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

Смотри также 

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

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

К

Windows XP

Да 

л

Windows 2000 Professional

Да

и

Windows NT Workstation

Да версии 3.5 и выше

е

Windows Me

Да

н

Windows 98

Да

т

Windows 95

Да

 
С

Windows Server 2003

Да

е Windows 2000 Server Да
р Windows NT Server Да версии 3.5 и выше
в    
е    
р    

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

Kernel32.lib

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

- объявлено в

Winbase.h

 - включено в

Windows.h

 Unicode

Нет

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

Не имеется

 

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

Hosted by uCoz