[Langage C] dossier de l'utilisateur courant
Résolu
Bonjour,
je suis en train de créer un petit programme en C qui demande des informations comptable a l'utilisateur et je les stock dans un fichier. Mais j'aimerais que ce fichier ce trouve dans
Mais je ne connait pas le "nom d'utilisateur" a l'avance. Et je ne veux pas qu'au lancement du programme celui-ci demande a l'utilisateur son "nom d'utilisateur".
Comment puis-je faire pour le connaitre ou directement placer mon fichier dans ce dossier sans le connaitre ce "nom"?
je suis en train de créer un petit programme en C qui demande des informations comptable a l'utilisateur et je les stock dans un fichier. Mais j'aimerais que ce fichier ce trouve dans
C:\Documents and Settings\nom_d_utilisateur_courant\Application Datade façon a ce que les autres utilisateur ne puisse avoir accès a ce fichier.
Mais je ne connait pas le "nom d'utilisateur" a l'avance. Et je ne veux pas qu'au lancement du programme celui-ci demande a l'utilisateur son "nom d'utilisateur".
Comment puis-je faire pour le connaitre ou directement placer mon fichier dans ce dossier sans le connaitre ce "nom"?
Configuration: Windows XP Firefox 2.0.0.20
9 réponses
-
getcwd donne le répertoire courant, pas le repéertoire utilisateur.
dans une console, regarde avec "set" les différentes variables qui sont définies, tu en trouvera bien une qui te convient.
Moi, j'ai :
%USERPROFILE% qui donne le chemin complet du répertoire utilisateur, donc devrai convenir sous vista ou XP.
%APPDATA% pour le répertoire que tu cherche (rep_utilisateur_\nom_utilisateur\application_data)
pour l'os, tu as %OS% ou la commande "ver.exe" pour plus de détails. -
en console tu peux récupérer le nom de l'user avec
echo %username%
tu peux essayer de te base sur ça dans ton programme en C, avec system(),
après c'est sur que sa fait pas très propre :s -
Oui, ne jamais utiliser system()
Il faut utiliser l'api Win32 (SH)
demander sur le newsgroup professionnel des apis win32 :
news://fr.comp.os.ms-windows.programmation
où cela a souvent été donné (C et C++) -
Merci,
%username% est parfais pour le petit logiciel que je veux faire ! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Voila autre problème... selon si l'utilisateur est sur xp ou vista le chemin de l'utilisateur est différant. Il me faudrait donc un moyen de connaitre le système d'exploitation utilisé sur la machine?
j'ai cherché une commande comme echo %username% mais je n'ai rien trouvé. -
Non non ce n'est pas la bonne méthode, il y a une fonction dans la libc qui est prévue pour :
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/getcwd.3.html
L'avantage de la méthode est qu'elle est indépendante de l'OS (elle marchera aussi bien sous linux que sous windows).
Bonne chance -
Je ne vois pas en quoi cette fonction va me permettre de connaitre l'os de la machine de plus je n'ai rien compris a son fonctionnement.
Peut tu m'éclairer ? -
Merci ça fonctionne !
-