Partager via


Fonction SetFileApisToANSI (fileapi.h)

Demande aux fonctions d’E/S de fichiers d’utiliser la page de code du jeu de caractères ANSI pour le processus en cours. Cette fonction est utile pour les opérations d’entrée et de sortie de console 8 bits.

Syntaxe

void SetFileApisToANSI();

Valeur de retour

None

Notes

Les fonctions d’E/S de fichier dont la page de code est définie par SetFileApisToANSI sont les fonctions exportées par KERNEL32.DLL qui acceptent ou retournent un nom de fichier. SetFileApisToANSI définit la page de code par processus, plutôt que par thread ou par ordinateur.

La fonction SetFileApisToANSI complète la fonction SetFileApisToOEM , qui permet au même ensemble de fonctions d’E/S de fichier d’utiliser la page de code du jeu de caractères OEM.

Les fonctions de console 8 bits utilisent la page de code OEM par défaut. Toutes les autres fonctions utilisent la page de code ANSI par défaut. Cela signifie que les chaînes retournées par les fonctions de console peuvent ne pas être traitées correctement par d’autres fonctions, et vice versa. Par exemple, si la fonction FindFirstFileA retourne une chaîne qui contient certains caractères ANSI étendus et que les fonctions de console 8 bits sont définies pour utiliser la page de code OEM, la fonction WriteConsoleA n’affiche pas correctement la chaîne.

Utilisez la fonction AreFileApisANSI pour déterminer la page de code que le jeu de fonctions d’E/S de fichier utilise actuellement. Utilisez les fonctions SetConsoleCP et SetConsoleOutputCP pour définir la page de code des fonctions console 8 bits.

Pour résoudre le problème d’incompatibilité de page de code, il est préférable d’utiliser Unicode pour les applications console. Les applications console qui utilisent Unicode sont beaucoup plus polyvalentes que celles qui utilisent des fonctions console 8 bits. À l’exception de cette solution, une application console peut appeler la fonction SetFileApisToOEM pour que le jeu de fonctions d’E/S de fichier utilise des chaînes de jeu de caractères OEM plutôt que des chaînes de jeu de caractères ANSI. Utilisez la fonction SetFileApisToANSI pour renvoyer ces fonctions à la page de code ANSI.

Lors du traitement des lignes de commande, une application console doit obtenir la ligne de commande au format Unicode, puis la convertir en formulaire OEM à l’aide des fonctions caractère à OEM appropriées. Notez également que le tableau dans le paramètre argv de la fonction de ligne de commande main contient des chaînes de jeu de caractères ANSI dans ce cas.

Dans Windows 8 et Windows Server 2012, cette fonction est prise en charge par les technologies suivantes.

Technologie Prise en charge
Protocole Server Message Block (SMB) 3.0 Oui
Basculement transparent SMB 3.0 (TFO) Oui
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) Oui
Système de fichiers du volume partagé de cluster (CsvFS) Oui
Système de fichiers résilient (ReFS) Oui

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête fileapi.h (inclure Windows.h, WinBase.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

AreFileApisANSI

Fonctions de gestion des fichiers

FindFirstFileA

SetConsoleCP

SetConsoleOutputCP

SetFileApisToOEM

WriteConsoleA