Bonjour,
Existe t'il une fonction qui permet de connaître la langue utiliser par l'os qui exécute le programme ?
Merci d'avance.
Version imprimable
Bonjour,
Existe t'il une fonction qui permet de connaître la langue utiliser par l'os qui exécute le programme ?
Merci d'avance.
En C, il n'y a rien, mais si tu nous dis ton OS, on pourra peut être t'orienter vers les bonnes API.
Pas en C standard, mais sous Windows il y a la fonction GetUserDefaultUILanguage par exemple.
Je suis sous 7. Mais l'appli doit pouvoir tourner autant sous XP que vista et 7. En fait j'ai besoin de savoir si l'OS est en anglais ou français afin de determiner si dans le chemin je dois mettre bureau ou desktop.
Ça fait bien longtemps que je n'ai pas programmé sous Windows, mais j'imagine qu'il doit y avoir un moyen plus explicite pour obtenir le chemin local, plutôt qu'essayer de le déduire soi-même.
Si l'utilisateur a fait une installation particulière (comme installer ses homes sur D:), ton programme risque d'aller écrire n'importe où.
Bonjour,
Dans ce cas là, ça n'est pas la langue de l'O.S qu'il faut demander. Il existe des fonctions prévues pour retrouver le chemin de ce type de dossiers ("Special Folders"). Il y a le choix:
SHGetFolderLocation, SHGetFolderPath, SHGetSpecialFolderLocation et SHGetSpecialFolderPath
Dans ton cas, le CSIDL sera: CSIDL_DESKTOP
ça marche pas sous Win getenv ??
Parfois l'information est en effet disponible en variable d'environnement, et on peut dans ce cas utiliser getenv ou ExpandEnvironmentStrings, etc. mais dans ce cas précis, il n'y a pas de variable d'environnement (que je sache) qui donne le chemin du bureau et dans le cas général, il est toujours plus sûr d'utiliser les APIs spécialisées.
Ni sous Seven, ni sous XP, je n'ai de variable d'environnement LANGUAGE.
Peut être une variable qui existe par défaut sous d'autres environnements ou dans des environnement customisés ?
Du coup j'ai fais un .ini ou il suffit d'entrer fr ou en, après je fais un switch pour déterminer le bon chemin.
Merci