Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As funções do console de 8 bits usam a página de código OEM. Todas as outras funções usam a página de código ANSI por padrão. Isso significa que as cadeias de caracteres retornadas pelas funções do console podem não ser processadas corretamente pelas outras funções e vice-versa. Por exemplo, se FindFirstFileA retornar uma cadeia de caracteres que contém determinados caracteres ANSI estendidos, WriteConsoleA não exibirá a cadeia de caracteres corretamente.
A melhor solução de longo prazo para um aplicativo de console é usar Unicode. O console aceitará a codificação UTF-16 na variante W das APIs ou a codificação UTF-8 na variante A das APIs depois de usar SetConsoleCP e SetConsoleOutputCP para 65001 (CP_UTF8 constante) para a página de código UTF-8.
Salvo essa solução, um aplicativo de console deve usar a função SetFileApisToOEM . Essa função altera funções de arquivo relevantes para que elas produzam cadeias de caracteres de conjunto de caracteres OEM em vez de cadeias de caracteres de conjunto de caracteres ANSI.
A seguir estão as funções de arquivo:
CopyFile
CreateDirectory
CreateFile
CreateProcess
DeleteFile
FindFirstFile
FindNextFile
GetCurrentDirectory
GetDiskFreeSpace
GetDriveType
Ao lidar com linhas de comando, um aplicativo de console deve obter a linha de comando em formato Unicode e convertê-la em formato OEM, usando as funções de caractere para OEM relevantes. Note, também, que argv usa o conjunto de caracteres ANSI.