View Full Version : File, Dal C al C++
Gogeta ss4
18-09-2004, 14:51
Raga devo fare un programma con i file in c++, purtroppo io conosco le funzioni: fwrite(), fread(), fputs(), fgets();
Ecco in c++ come sono??
Non credo che rimangano uguali... E che parametri gli si passa??
Thanks
:confused: Le funzioni che tu citi, come tutte le altre, provengono da una libreria che importavi nei programmi C (stdio.h? sono un po' arrugginito... :idea: ): se continui ad importarla nei programmi C++, non dovrebbe cambiare moltissimo...
In sostanza, usale come le usavi prima, dovrebbero funzionare nella stessa maniera: se c'è una variazione nella sintassi, la troverai nel .h della libreria...
Gogeta ss4
18-09-2004, 15:43
a me servono per la iostream.h, non devo usare quelle del c ma del c++, devo fare così, me lo ha detto la prof(senza dirci quali sono, mi ha detto di cercarle)
La libreira è <iostream>, non <iostram.h> che è obsoleta. Datti una lettura alle funzioni presenti qui:
http://www.cppreference.com/cppio.html
Gogeta ss4
18-09-2004, 16:06
ma non ho scritto iostram...:confused: :confused:
Non ci capisco molto, non e ke potresti dirmele direttamente ?
Fenomeno85
18-09-2004, 17:34
clicchi sulla funzione che ti interessa ... e ti fa anche un esempio ... bel link ... già nei miei preferiti :)
~§~ Sempre E Solo Lei ~§~
Gogeta ss4
18-09-2004, 18:12
il problema e che non so qualè quella che mi interessa, ad esempio non so qualè l'equivalente di fwrite() in c++....
Penso che dovresti usare write(), per analogia col Java (lo so, non è un buon argomento :p ) dove la classe OutputStream ha un metodo write() molto simile, e poi perchè mi sembra l'unica funzione di scrittura presente a quel link... oltre a put(), ma funziona un carattere alla volta...
Altri due link a reference del c++:
http://www.cplusplus.com/ref/ (molto buono, da leggere perche spiega con esempi le funzioni di i/o)
http://www.dinkumware.com/manuals/reader.aspx?lib=cpp
Per scrivere su un file la cosa più semplice è utilizzare l'operatore <<
#include <iostream>
#include <fstream>
usin namespace std;
int main(){
//Creo uno stream di output sul file ciao.txt
//se il file non esiste viene creato; se esiste
//viene sovrascritto
ofstream ofile("ciao.txt");
ofile << "Cioooooo " << "mondo\n";
ofile << "inseirsco un numero: " << 3;
ofile << "\nstop.";
//dico allo stream di scrivere
ofile.flush();
//buffer da usare per la lettura
char line[256];
//apro uno stream di input sul file ciao.txt
ifstream ifile("ciao.txt");
//lego una riga, fino ad un massimo di 256 caratteri
ifile.getLine(line, 256);
//stampo la riga letta:
cout << line;
//leggo una riga con l'operatore cin
//(meno sicuro perche non specifichi la dimensione del buffer):
cin >> line;
//stampo la riga
cout << line;
return 0;
}
//per ifstream/ofstream/iostream
#include <fstream>
//per string
#include <string>
using namespace std;
int main()
{
//per aprire un file in output
//ios::app per aggiungere alla fine
ofstream file("nomefile.txt, ios::app);
//scrivi una linea nel file e un "a capo"
file<<"Ciao"<<endl;
//chiudi l'ofstream del file
file.close();
//per aprire un file in input
ifstream file("nomefile.txt);
//se vuoi usare char:
char linea[50];
file.getline(linea, 50);
//se vuoi usare la stringa del c++
string str;
getline(file, str);
//chiudi l'ifstream del file
file.close();
return 0;
}
in pratica nel c++ non è una funzione, è una dichiarazione dell'ofstream/ifstream file.
oltre a ios::app ci sono altre opzioni - sovrascrivi, non creare se non esiste, e così via
spero di essere stato chiaro :)
Gogeta ss4
18-09-2004, 20:41
che casino...:(
Grazie a tutti ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.