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 :

fichier inexistant et main avec parametres


Sujet :

C++

  1. #1
    Invité
    Invité(e)
    Par défaut fichier inexistant et main avec parametres
    Bonjour à tous.

    J'ai des problèmes pour lire dans un fichier, il ne le trouve pas.
    J'effectue une compilation avec la commande "make" depuis mon dossier Equadiff.comp , et au même que celui là, j'ai le dossier Equadiff, dans ce dernier, j'ai le programme principal "main.cc" + divers fichiers à lire + un dossier "src" avec des classes/fonctions en .h et .cc

    J'ai besoin de mettre des arguments quand j'exécute le main, je mets les noms de fichiers sans extension, dans ma fonction de lecture "read", je rajoute l'extension, mais malheuresment, il ne le trouve pas, voici mon code de fonction de lecture:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    void read_file(double& tol, int &N0, double &tf, string & DP, int &Nmax, int &N_f,string &filename, char** &f_files){ //pour lire dans un fichier
    char line[80];
    cout<<"fichier sans extension : "<<filename<<endl;
    filename=filename+".mstz";
    ifstream file(filename.c_str());
     
    if(file.fail())
    	{
    	cout<<"fichier "<<filename<<" inexistant\n";
    	exit(0);
    	}
    if(!file)
    	{
    	cout<<"erreur d'ouverture du fichier "<<filename<<"\n";
    	exit(0);
    	}
     
    file.getline(line,80,'\n');std::cout<<line<<'\n';
    file>>tol; file.getline(line,80,'\n'); cout<<"tol = "<<tol<<endl;
    }
    Le nom de fichier à lire correspond à "filename", tandis que "f_files" me servira à récupérer d'autres noms de fichiers qui sont écrits dans "filename".


    Voici qu'il m'affiche:
    fichier sans extension : exponentielle
    fichier exponentielle.mstz inexistant

    Merci de m'aider.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    S'il ne le trouve pas c'est surement qu'il ne le cherche pas dans le bon répertoire. As-tu essayé avec le chemin d'accès complet ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    merci, l'erreur venait bel et bien de l'adresse
    J'ai cependant un autre problème qui vient de s'installer (j'espère que tout matchera à merveille après), j'ai fait une retouche à cette fonction, et maintenant, il ne me lit pas le fichier jusqu'au bout...

    j'ai pris 'graphes' comme étant des vector<string>, je mets dedans les noms des graphes, qui est de taille inconnue (au départ).
    Dans mon fichier à lire, je lui demande combien il veut de graphes au total: N_f (minimum 4), et j'ai redimensionné 'graphes' de taille N_f.

    J'ai mis ceci mon ma fonction 'read'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    file.getline(line,80,'\n'); std::cout<<line<<'\n';
    file>>graphes[0]; cout<<"fichier 1 = "<<graphes[0]<<endl;
    file>>graphes[1]; cout<<"fichier 2 = "<<graphes[1]<<endl;
    file>>graphes[2]; cout<<"fichier 3 = "<<graphes[2]<<endl;
    file>>graphes[3]; cout<<"fichier 4 = "<<graphes[3]<<endl;
     
    file.getline(line,80,'\n'); std::cout<<line<<'\n';
     
    if(N_f>4)
    	{
    	int k=0;
    	for(int i=4; i<N_f; i++)
    		{
    		file>>graphes[k];  std::cout<<line<<'\n'; cout<<"Autre fichier = "<<graphes[k]<<endl;
    		k++;
    		}
    	}

    Il m'affiche ceci:
    noms des fichiers
    fichier 1 = solution
    fichier 2 = psi
    fichier 3 = erreur
    fichier 4 = pas_temps

    Mon fichier à lire ressemble à cela:
    noms des fichiers
    solution
    psi
    erreur
    pas_temps
    autres fichiers a créer (s'il y en a)
    pouce
    psi2d
    EDIT: c'est réglé
    Dernière modification par Invité ; 22/05/2009 à 21h33.

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

Discussions similaires

  1. Fichier .bat avec parametre - comment utiliser le parametre
    Par Linconnu dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 01/04/2015, 01h13
  2. [AC-2002] Import fichier csv avec parametre
    Par ratapoilu dans le forum VBA Access
    Réponses: 1
    Dernier message: 13/04/2012, 11h28
  3. [AC-2002] Import fichier csv avec parametre
    Par ratapoilu dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/04/2012, 17h43
  4. Réponses: 1
    Dernier message: 07/09/2010, 16h03
  5. Récupérer un fichier par requete http avec parametre GET
    Par ggalou08 dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 22/07/2008, 16h49

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