Usando wmain em vez do principal
Específicos do Microsoft
No modelo de programação do Unicode, você pode definir uma versão de caractere largo da principal função.Use wmain em vez de principal se você quiser escrever um código portátil que esteja de acordo com a especificação do Unicode.
Você declara parâmetros formais para wmain usando um formato similar ao principal.Em seguida, você pode passar argumentos de caracteres largos e, opcionalmente, um ponteiro de caractere de todo o ambiente para o programa.O argv e envp parâmetros para wmain são do tipo wchar_t*.
Se o seu programa usa um principal função, o ambiente de caracteres multibyte é criado pelo sistema operacional na inicialização do programa.Uma cópia de caracteres largos do ambiente é criada somente quando necessário (por exemplo, por uma chamada para o _wgetenv ou _wputenv funções).Na primeira chamada para _wputenv, ou na primeira chamada para _wgetenv se já existir um ambiente MBCS, um ambiente de seqüência de caracteres largos correspondente é criado e, em seguida, é apontado pela _wenviron a variável global, que é uma versão de caractere largo da _environ variável global.Neste ponto, duas cópias do ambiente (MBCS e Unicode) existirem simultaneamente e são mantidas pelo sistema operacional durante o ciclo de vida do programa.
Da mesma forma, se o seu programa usa um wmain função, um ambiente de MBCS (ASCII) é criado na primeira chamada para _putenv ou getenve é apontada pela _environ variável global.
Para obter mais informações sobre o ambiente de MBCS, consulte um byte e conjuntos de caracteres Multibyte na referência da biblioteca de tempo de execução.