Salve raga, vorrei creare una semplice libreria per gestire i file.
Ora ad esempio, ho scritto il seguente programma:
codice:
# include <iostream>
# include <stdio.h>
# include <fstream>
# include <string>
# include <sstream>
using namespace std;
int ID;
class File
{
public:
void ApriFileInScrittura(string NomeFile, std::ios_base::openmode metodo)
{
ofstream write(NomeFile.c_str(), metodo);
}
/************************************FINE**************************************/
void GeneraID(string NomeFile)
{
ifstream trovaID("ID.txt", ios::in); //ID.txt file contentente il numero // dell'ultimo ID inserito
if (trovaID)
{
trovaID >> ID;
ID=ID+1;
trovaID.close();
}
else
ID=1;
ofstream write(NomeFile.c_str(),ios::app);
write <<"L;"; /* Imposta FLAG per la CANCELLAZIONE LOGICA*/
/////////////////////////////
stringstream s; //
string ss; //
s << ID ; //
ss = s.str(); // /* Dimesione dell' ID = 5
ss.resize(5); // dato che ss.resize(5); */
write <<ss; //
//////////////////////
write.close();
// Aggiorna L'ID che viene scritto sul file ID.txt
ofstream aggID("ID.txt", ios::out);
aggID << ID;
aggID.close();
}
/************************************FINE**************************************/
void ScriviCampo(string NomeFile, string Campo, int DimCampo)
{
ofstream write(NomeFile.c_str(),ios::app);
Campo.resize(DimCampo);
write << Campo;
write.close();
}
/************************************FINE**************************************/
void ScriviUltimoCampo(string NomeFile, string Campo, int DimCampo)
{
ofstream write(NomeFile.c_str(),ios::app);
Campo.resize(DimCampo);
write << Campo << endl;
write.close();
}
};
int main()
{
File A1;
A1.ApriFileInScrittura("PROVA.txt", ios::app);
A1.GeneraID("PROVA.txt");
A1.ScriviCampo("PROVA.txt", "Salvatore", 20);
A1.ScriviCampo("PROVA.txt", "Ciotola", 20);
A1.ScriviUltimoCampo("PROVA.txt", "UltimoCampo", 20);
getchar();
getchar();
}
Io ora vorrei farne di questo programma una libreria, nel senso che:
tutto il seguente codice, deve stare in un file chiamato "mialibreria.h" e il resto deve essere il mio file.cpp:
codice:
# include <iostream>
# include <stdio.h>
# include <fstream>
# include <string>
# include <sstream>
using namespace std;
int ID;
class File
{
public:
void ApriFileInScrittura(string NomeFile, std::ios_base::openmode metodo)
{
ofstream write(NomeFile.c_str(), metodo);
}
/************************************FINE**************************************/
void GeneraID(string NomeFile)
{
ifstream trovaID("ID.txt", ios::in); //ID.txt file contentente il numero // dell'ultimo ID inserito
if (trovaID)
{
trovaID >> ID;
ID=ID+1;
trovaID.close();
}
else
ID=1;
ofstream write(NomeFile.c_str(),ios::app);
write <<"L;"; /* Imposta FLAG per la CANCELLAZIONE LOGICA*/
/////////////////////////////
stringstream s; //
string ss; //
s << ID ; //
ss = s.str(); // /* Dimesione dell' ID = 5
ss.resize(5); // dato che ss.resize(5); */
write <<ss; //
//////////////////////
write.close();
// Aggiorna L'ID che viene scritto sul file ID.txt
ofstream aggID("ID.txt", ios::out);
aggID << ID;
aggID.close();
}
/************************************FINE**************************************/
void ScriviCampo(string NomeFile, string Campo, int DimCampo)
{
ofstream write(NomeFile.c_str(),ios::app);
Campo.resize(DimCampo);
write << Campo;
write.close();
}
/************************************FINE**************************************/
void ScriviUltimoCampo(string NomeFile, string Campo, int DimCampo)
{
ofstream write(NomeFile.c_str(),ios::app);
Campo.resize(DimCampo);
write << Campo << endl;
write.close();
}
};
Pero non ci riesco, qualkuno di voi puo dirmi come fare?