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