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

Bibliothèques C++ Discussion :

[recherche lib] accès à des répertoires spécifiques de manière portable


Sujet :

Bibliothèques C++

  1. #1
    Membre éprouvé
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    189
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 189
    Par défaut [recherche lib] accès à des répertoires spécifiques de manière portable
    Bonjour bonjour,

    Je suis actuellement en train de bosser sur un petit projet d'application qui nécessite le stockage de fichiers tiers. Voulant faire les choses bien, je réalise cette application de manière portable. Du coup, ça devient un peu complexe pour récupérer automatiquement le bon répertoire pour stocker ces fichiers.

    En fait, j'aurais exactement besoin de wxStandardPaths::GetUserDataDir [1]. Mais comme c'est vraiment un petit projet qui se veut léger ça m'embêterais de devoir sortir cette grosse artillerie.

    Je vais de toute façon devoir utiliser boost, mais le module filesystem ne possède rien à ce niveau là.

    Alors bon, si je devais développer uniquement pour Unix, ça irait. J'aurais juste à regarder si je tourne sous mac ou non et retourner que deux chemins différents. Mais Windows fait pas comme les autres!

    Connaissez-vous une bibliothèque portable pour m'aider dans mon travail ?

    Ou peut-être avez-vous sous la main le code pour réaliser ce genre de chose pour les différentes versions de Windows ? (Sait-on jamais )

    Merci d'avance pour l'aide que vous m'apporterez!

    [1] : j'ai aussi un doute sur le résultat pour Windows : avec Windows 7 le chemin n'est-il pas qqch comme /Users/… ? (J'ai pas de 7 installée actuellement.)

  2. #2
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par défaut
    boost::filesystem

  3. #3
    Membre éprouvé
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    189
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 189
    Par défaut
    Citation Envoyé par Joel F Voir le message
    boost::filesystem
    C'est bien gentil à toi de vouloir aider mais si tu pouvais lire l'entier de mon premier message ça serait encore mieux.

    Je précise encore ce que je cherche : une bibliothèque permettant ceci :
    virtual wxString wxStandardPaths::GetUserDataDir ( *)* const [virtual]
    Return the directory for the user-dependent application data files:
    Unix: ~/.appinfo
    Windows: "C:\Documents and Settings\username\Application Data\appinfo"
    Mac: "~/Library/Application Support/appinfo".
    Merci d'avance

  4. #4
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par défaut
    As tu regarder dans les exemples, je reste persuadés que boost:fs à ce genbre de truc pour 'lavoir vu passer sur la ML dev.

  5. #5
    Membre éprouvé
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    189
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 189
    Par défaut
    Je suis d'accord, on s'attendrait à trouver ce genre de chose avec cet lib mais même dans les exemples rien de s'en approche.

  6. #6
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par défaut
    au temps pour moi donc

  7. #7
    Membre Expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Par défaut
    En fait j'ai aussi vu des discussions pour une fonction similaire, mais il y avait pas mal de desaccord parceque ce n'est pas forcément quelque chose de "standard".

    Je pensais qu'ils avaient finis par quand même fournir la fonction... tu as vérifier dans la dernière version de boost?

  8. #8
    Membre Expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Par défaut
    Après quelques recherches je ne retrouve pas al discussion. Je ne trouve pas d'équivalent non plus dans POCO.


    Donc il va falloir isoler une fonction encapsulatrice de manière a avoir un implementation par system.

  9. #9
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    Citation Envoyé par Klaim Voir le message
    Je ne trouve pas d'équivalent non plus dans POCO.
    Peut être path::home(), non ?

  10. #10
    Membre éprouvé
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    189
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 189
    Par défaut
    Merci pour POCO, je ne connaissais pas! Par contre, ce n'est pas mon bonheur… Depuis Vista le chemin de stockage n'est plus dans la «home» de l'utilisateur.

    J'ai donc opté pour une solution : créer cette petite fonction moi-même.

    Je vous remercie de votre aide encore une fois.

  11. #11
    Membre éprouvé
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    189
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 189
    Par défaut
    J'ai «terminé» ma fonction. Vous pouvez y jeter un oeil ici : http://hiura.tuxfamily.org/wordpress...m-directories/

    Si vous avez des remarques, ça fait un bout de temps que j'ai pas touché au C++ (greumeuleu que ça m'a manqué!) et j'ai peut-être fait une petite bourde par-ce par là (en même temps j'espère pas vu la taille du code ).

  12. #12
    Membre Expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Par défaut
    Depuis Vista le chemin de stockage n'est plus dans la «home» de l'utilisateur.
    Il me semble que cela dépends de ce dont on parle...D'après mon experience sur Windows 7 (qui peut être légèrement différente, je ne sais pas):

    - Si c'est une appli qui tente d'ecrire dans le dossier d'installation de l'application, les fichiers seront en réalité écrits dans un dossier planqué dans le dossier de l'utilisateur (AppData ou quelque chose comme ça) de manière a protéger le systeme tout en permettant aux vieilles appli de tourner normalement;
    - Si c'est une appli qui gère le fait qu'il y a des données spcifiques a l'utilisateur, alors il utilise le dossier de l'utilisateur (et eventuellement directement dans Mes Documents);

    Du coup normalement il doit bien y avoir un equivalent du Home, mais selon le type de manipulation tu ne vas pas le faire au même endroit dans les données utilisateur.

Discussions similaires

  1. [Batch] Recherche nom d'un répertoire spécifique
    Par julien41 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 19/11/2013, 12h02
  2. [Batch] Déplacer des répertoires spécifiques d'un lecteur à un autre
    Par llaffont dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 13/03/2012, 13h13
  3. Réponses: 2
    Dernier message: 07/11/2011, 16h54
  4. [Flex4] HTTPService - Accès à des données spécifiques
    Par zabdoul dans le forum Flex
    Réponses: 4
    Dernier message: 08/04/2011, 17h24
  5. Bloquer l'accès à des répertoires
    Par scrouet dans le forum Sécurité
    Réponses: 9
    Dernier message: 11/12/2009, 14h56

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