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 :

ouverture de fichier txt impossible


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 42
    Points : 29
    Points
    29
    Par défaut ouverture de fichier txt impossible
    bonjour à tous,

    petite question qui m'embête particulièrement. Je souhaite construire un petit programme dont certaines constantes se trouvent dans un fichier txt. Le problème c'est qu'en suivant bien les différents exemples, quand je lance le programme, il me met directement, qu'il n'a pas pu ouvrir le fichier. Je ne sais pas si ça a une influence, mais j'écris cette ligne de code dans le fichier cpp de l'interface graphique écrit sous qtDesigner. En effet, le programme est tout petit et refaire un nouveau fichier cpp et h juste pour des méthodes deviendrait vite lourd dans ce cas ci. Le but étant ici que lors d'un click sur le bouton O_push_boulons, il me lise le fichier. Je précise qu'un fichier txt existe bien dans le répertoire du programme.

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    
    #include "lwindow.h"
    #include "ui_lwindow.h"
    #include <fstream>
    #include <string>
    using namespace std;
    
    Lwindow::Lwindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::Lwindow)
    {
        ui->setupUi(this);
    }
    void Lwindow::on_o_push_Fmax_clicked()
    {
        double d;
        QString z;
    
        d =  double(ui->o_epaisseur->value());
        donnees[1]=d;
        d =  double(ui->o_longueur->value());
        donnees[2]=d;
        d =  double(ui->o_fyk->value());
        donnees[3]=d;
        d =  double(ui->o_bras_F->value());         // bras de levier force
        donnees[4]=d;
    
    
        double I = donnees[1]*donnees[1]*donnees[2]/6;
        double fyd = donnees[3]/1.15;
        double Mmax = I*fyd/1000000; //kNm
        double F = donnees[4]/1000;
        donnees[6]=Mmax/F;  // Fmax kN
    
        ui->o_resultat_Fmax->setText(z.setNum(donnees[6]));
    
    }
    
    void Lwindow::on_o_push_Fboulons_clicked()
    {
        QString z;
        double d;
        d =  double(ui->o_bras_boulons->value());   // bras de levier boulons
        donnees[5]=d;
    
        double bF = donnees[4]/1000;
        double bB = donnees[5]/1000;
        donnees[7] =(bF/bB)*donnees[6];  // Fboulon kN
    
        ui->o_resultat_Fboulons->setText(z.setNum(donnees[7]));
    
    }
    
    void Lwindow::on_o_push_boulons_clicked()
    {
        ifstream fichier("test.txt", ios::in);  // on ouvre le fichier en lecture
    
                if(fichier)  // si l'ouverture a réussi
                {
                    // instructions
                    ui->o_display->append("donnée insérées");
                        fichier.close();  // on ferme le fichier
                }
                else  // sinon
                        ui->o_display->append("Impossible d'ouvrir le fichier !");
    
    
      //  QString z;
       // ui->o_resultat_resist_cisail->setText(z.setNum(boulons[0][1]));
    }
    
    Lwindow::~Lwindow()
    {
        delete ui;
    }
    Merci d'avance

  2. #2
    Membre éprouvé Avatar de Steph_ng8
    Homme Profil pro
    Doctorant en Informatique
    Inscrit en
    Septembre 2010
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 677
    Points : 997
    Points
    997
    Par défaut
    Bonjour,

    Le fait que le fichier en question est dans le même répertoire que l'exécutable, n'est pas le seul élément qu'il faut prendre en compte.
    Ce qu'il faut surtout, c'est que ce fichier soit dans le répertoire de travail courant de l'exécution.

    Par défaut, il s'agit du répertoire à partir duquel tu lances l'exécutable.
    Mais il peut également être modifié durant l'exécution (via la fonction chdir de la bibliothèque C, par exemple).

    Je suppose que si tu modifiais le répertoire de travail tu t'en rendrais compte.
    Alors essaie déjà de lancer ton programme depuis le répertoire où est stocké le fichier incriminé, si ce n'est pas déjà le cas.

    Si ça ne marche pas, utilise l'adresse absolue du fichier.
    Tu peux soit l'écrire en dur dans le source (mauvaise idée à long terme), soit la passer en paramètre au programme, soit doter ton interface graphique d'une boîte de dialogue permettant de chercher ce fichier.

    Au fait, tu es sous quel système d'exploitation ?
    Et comment lances-tu ton programme ? (« à la main » ou via qtDesigner... ?)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 42
    Points : 29
    Points
    29
    Par défaut
    super, tu es magic!!

    j'aurais jamais imaginé que qtdesigner compilait le fichier dans un autre endroit. J'avais en effet l'habitude de compiler via la console

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

Discussions similaires

  1. [XCode] Ouverture d'un fichier .txt impossible
    Par bl0bman dans le forum Bibliothèques, systèmes et outils
    Réponses: 6
    Dernier message: 16/11/2014, 09h38
  2. pb ouverture de fichier txt
    Par maluv dans le forum Débuter
    Réponses: 3
    Dernier message: 12/08/2009, 14h57
  3. Erreur d'ouverture de fichier txt : sylk
    Par solorac dans le forum Excel
    Réponses: 2
    Dernier message: 13/02/2008, 21h51
  4. ouverture de fichier txt avec excel
    Par blondelle dans le forum C++Builder
    Réponses: 5
    Dernier message: 24/05/2006, 11h33
  5. ouverture de fichier txt
    Par juguul dans le forum MFC
    Réponses: 11
    Dernier message: 18/12/2003, 09h44

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