IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Gestion des fichiers users sous linux


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Points : 19
    Points
    19
    Par défaut [resolu]Gestion des fichiers users sous linux
    Bonjour à tous,

    je suis en train de faire un petit programme s'executant sous linux.
    Le programme doit enregistrer un fichier de preferences par utilisateurs.

    Le fichier se trouve dans ~/.easyleet/easy.conf

    Mais je n'arrive pas a ouvrir ce fichier.

    Si je met ceci :
    fichier.open("/home/aurelien/.easyleet/easy.conf", ios::in);
    aucun problème, mais si je met :
    fichier.open("~/.easyleet/easy.conf", ios::in);

    Le fichier n'est pas ouvert.

    J'aimerais une fonction permettant de savoir le path du dossier de l'utilisateur executant le programme.
    La seule chose ressemblant à ce que je veux faire est getuid.
    Il y a t'il un moyen a partir de l'id de l'utilisateur d'acceder a son répertoire personnel ?

  2. #2
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    la fonction C getlogin te permet d'obtenir le login de l'exécuteur de ton programme.
    Après , tu fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    std::string path = "/home/"+lavaleurrenvoyepargetlogin+"/.easyleet/easy.conf";
    fichier.open(path, ios::in);
    PS: code pas testé, c'est l'idée.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Pour trouver le home directory sous linux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <iostream>
    #include <cstdlib>
     
    int main()
    {
     
      std::string home = getenv("HOME");
      std::cout << home << std::endl;
     
      return 0;
    }

    Car si jamais l'utilisateur a son home directory dans /data/user, ça ne passe pas avec getlogin.

Discussions similaires

  1. logiciel de gestion des ACL windows sous linux
    Par tatuxp dans le forum Administration système
    Réponses: 1
    Dernier message: 20/12/2011, 10h43
  2. Réponses: 1
    Dernier message: 19/04/2010, 14h18
  3. Outils de gestion des fichiers sous Linux
    Par achmn dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 04/06/2008, 11h54
  4. Créer et utiliser des fichiers excel sous linux
    Par cronos6 dans le forum Zope
    Réponses: 2
    Dernier message: 02/06/2006, 09h14
  5. Lire des fichiers iso sous linux
    Par wodel dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 28/11/2005, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo