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 :

importer des chaines de caracteres à partir d'un fichier


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 48
    Points : 53
    Points
    53
    Par défaut importer des chaines de caracteres à partir d'un fichier
    Bonjour, j'ai un fichier "param.txt" qui contient différents paramètres utilisés par mon programme, du genre

    3
    0.02
    carre.msh
    la derniere ligne étant un nom de fichier dans lequel le programme va chercher des informations.

    je comptais faire un truc du genre :
    double a,b;
    char nom_fichier;

    ifstream param("param.txt");
    param>>a>>b>>nom_fichier;

    //et un peu plus loin

    ifstream(nom_fichier)
    sauf que ca marche pas (erreur de segmentation). je sais que les chaines de caractères sont des grosses relous, et que pour les copier il faut utiliser des trucs du genre strcpy(,), mais là je ne vois même pas comment assigner à une chaîne de caractère les valeurs de la troisième ligne.

    donc comment récupérer cette troisième ligne, et sous quelle forme le récupérerai-je? Comment faire pour la faire rentrer dans un ifstream ?

    Merci d'avance

  2. #2
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 48
    Points : 53
    Points
    53
    Par défaut
    Question autorésolue :

    il suffit d'utiliser des string et ca se gère tout seul, en les convertissant en char au bon moment en utilisant la méthode c_str()

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    char nom_fichier
    Tu déclare un caractère qui s'appelle 'nom_fichier' et non une chaîne de caractère (comme tu le désire) qui est de type 'char *'

  4. #4
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 632
    Points : 30 714
    Points
    30 714
    Par défaut
    Salut,
    Citation Envoyé par G-OnZa
    Tu déclare un caractère qui s'appelle 'nom_fichier' et non une chaîne de caractère (comme tu le désire) qui est de type 'char *'
    Ce n'est pas faux, mais la classe string de la S(T)L est, malgré tout, bien plus efficace qu'une chaine "C style) (basée sur un tableau de char)

    Comme il s'agit, a priori, d'un nom de fichier, il faudra vraissemblablement utiliser une chaine C style pour ouvrir le flux, mais la fonction membre c_str() est là pour cela

    Bref, on a tout à gagner à utiliser la std::string

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Extraire une chaine de caractere à partir d'un fichier
    Par Dalidou dans le forum Général Java
    Réponses: 11
    Dernier message: 10/06/2009, 23h04
  2. Réponses: 4
    Dernier message: 30/09/2006, 13h27
  3. probleme d'heritage sur des chaines de caracteres
    Par pikiwiki dans le forum C++
    Réponses: 3
    Dernier message: 24/05/2006, 22h01
  4. Lire des fichiers texte (des chaines de caracteres) ifstream
    Par jamesleouf dans le forum SL & STL
    Réponses: 1
    Dernier message: 23/03/2006, 00h58
  5. [langage] Compter des chaines de caractères
    Par julfra dans le forum Langage
    Réponses: 2
    Dernier message: 26/05/2004, 18h42

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