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:
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;
}
-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
#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
-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
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;
}
ma classe doit me servir pour lire et écrire dans un fichier spécifique (données enregistrées dans un certain ordre)

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