Déboguer un code basé sur les parameters régionaux Windows et consoleCP et le faire fonctionner. Get error: ‘référence non définie à `GetLocaleInfoEx’ ‘

J’essaie de faire travailler du code créé par une autre personne. Le code obtient fondamentalement une locale introduite par l’utilisateur dans var locale_name . Ensuite, définissez ses ConsoleCP et ConsoleOutputCP ; Après tout, réinitialisez la console aux valeurs par défaut.

J’ai fait quelques modifications, mais je suis arrivé au point noir, je ne sais pas comment continuer. Je reçois deux erreurs: une undefined reference to 'GetLocaleInfoEx' et une error: 'reset_console' undeclared (first use in this function) .

Je ne sais pas pourquoi je reçois la première erreur. La deuxième erreur est due à reset_console n’est pas défini. Je suppose que cela devrait réinitialiser la configuration par défaut de la console, mais je ne sais pas ce qu’elle devrait faire pour cela (je veux dire, je ne sais pas comment restaurer les parameters, j’ai cherché mais je n’ai rien fait).

Le code est:

 #include  #include  #include  #include  #include  #include  #include  int main() { wchar_t *locale_name = L"es-ES"; if (_wsetlocale(LC_ALL, locale_name)) { int codepage; int gPrevConsoleCP = GetConsoleCP(); if (gPrevConsoleCP) { // The process is attached to a console. int gPrevConsoleOutputCP = GetConsoleOutputCP(); if (GetLocaleInfoEx(locale_name, LOCALE_IDEFAULTANSICODEPAGE | LOCALE_RETURN_NUMBER, (LPWSTR)&codepage, sizeof(codepage) / sizeof(wchar_t))) { if (!codepage) { // The locale doesn't have an ANSI codepage. codepage = GetACP(); } SetConsoleCP(codepage); SetConsoleOutputCP(codepage); atexit(reset_console); } } } return 0; } 

Une idée de comment faire fonctionner ce code?