Salve raga, vorrei creare una semplice libreria per gestire i file.
Ora ad esempio, ho scritto il seguente programma:
Io ora vorrei farne di questo programma una libreria, nel senso che: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(); }
tutto il seguente codice, deve stare in un file chiamato "mialibreria.h" e il resto deve essere il mio file.cpp:
Pero non ci riesco, qualkuno di voi puo dirmi come fare?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(); } };

Rispondi quotando