salut,
je fais ma première vraie classe (les autres c'étaient pour apprendre les bases) en utilisant pour la première fois boost...
voici les codes:
-programme principale pour le test de la classe:
-headers de la classe:
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 #include <iostream> #include <string> #include "base_stock.h" #include "fichier_table.h" using namespace std; int main() { unsigned int nombre; Fichier_table test; boost::filesystem::path nom_f("ressources/table.rdb"); vector<string> donnees; cout<<"Combien de nom à enregistrer?"<<endl; cin>>nombre; donnees.resize(nombre); for(unsigned int n=0;n<nombre;n++) { cout<<"nom à enregistrer?"<<endl; cin>>donnees[n]; } if(test.creer_fichier(nom_f,donnees)) { cout<<"réussi"<<endl; } else { } return 0; }
-fichiers cpp de la classe:
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 #ifndef FICHIER_TABLE #define FICHIER_TABLE #include <string> #include <vector> #include "filesystem/fstream.hpp" /* gère le fichier de la table du même nom dans la base de donnée */ class Fichier_table { private: boost::filesystem::path m_nom_fichier; std::vector<std::string> m_nom_colonnes; public: bool creer_fichier(boost::filesystem::path nom_fichier,std::vector<std::string> &nom_colonnes); std::vector<std::string> lire_fichier(boost::filesystem::path fichier) const; bool ajout_donnee(std::string colonne); bool supprimer_fichier(std::string nom_fichier); }; #endif
ma classe doit me servir pour lire et écrire dans un fichier spécifique (données enregistrées dans un certain ordre)
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 #include "fichier_table.h" #include "filesystem/fstream.hpp" bool Fichier_table::creer_fichier(boost::filesystem::path nom_fichier,std::vector<std::string> &nom_colonnes) { boost::filesystem::ofstream creation(nom_fichier); if (creation) { m_nom_colonnes.resize(nom_colonnes.size()); creation<<nom_colonnes.size(); for(unsigned int n=0;n<nom_colonnes.size();n++) { creation<<nom_colonnes[n]; m_nom_colonnes[n]=nom_colonnes[n]; } creation.close(); return true; } else { return false; } } std::vector<std::string> Fichier_table::lire_fichier(boost::filesystem::path fichier) const { return m_nom_colonnes; } bool Fichier_table::ajout_donnee(std::string colonne) { return false; } bool Fichier_table::supprimer_fichier(std::string nom_fichier) { return false; }
mon problème c'est que la classe ne marche pas (je sais j'ai pas fini de la créer)
où est mon problème?
edit: j'oubliai je suis sous ubuntu et j'utilise code::blocks
Partager