|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jun 2014
Messaggi: 2
|
[C++] Flusso Ifstream su più file
Ciao a tutti,
ho un problema con il mio programmino in C++. Ho usato correttamete (almeno credo) la funzione ifstream che apre il flusso del file in lettura e ho aperto il file txt che voglio leggere, ho letto il contenuto della riga che mi interessa e l'ho stampato su un file output txt. Ora però vorrei aprire in lettura più file txt stampare la riga che mi interessa su ciascun di questi files su un file output txt in colonna. La mia domanda quindi è: come posso aprire in lettura più file in contemporanea e stampare la riga che mi interessa di ognuno su un solo file output txt? Questi i comandi che ho utilizzato: fileDati.open("MioFILE.txt"); //crea il flusso in lettura fileOutputDati.open("FileOutput.txt"); //crea il flusso in uscita vi ringrazio dell'aiuto !! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2006
Messaggi: 3808
|
serve il codice completo altrimenti è impossibile aiutarti.
serve anche sapere su quale piattaforma vuoi operare sul file e quale codifica adotta il file o i files che stai tentando di aprire. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12859
|
Devi aprire necessariamente ogni file di input.
Se l'input è uniforme (cioè ogni file è strutturato nello stesso modo) potresti anche pensare di fare qualcosa del tipo: Codice:
output = ofstream("outputfile");
inputFiles = { "file1.txt", "file2.txt", "file3.txt"};
for (auto s : inputFiles) // c++11
{
auto file = ifstream(s);
// fai quello che devi fare
}
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Jun 2014
Messaggi: 2
|
Ciao,
sono su windows, ecco qui sotto il codice. pensavo che magari fosse possibile fare un ciclo for per acquisire un numero imprecisato di file in lettura del tipo FileDati_[i] per i che va da 1 a n e per ognuno far girare automaticamente il codice qui sotto... int main() { string TAGstr; char buffer[2000]; //creo un vettore temporaneo di 2000 caselle char TAG[10]; //creo un vett ifstream fileDati; //comando per aprire un file in lettura ofstream fileOutputDati; //comando per generare un file in uscita fileDati.open("FileMio.txt"); //crea il flusso in lettura fileOutputDati.open("FileOutput.txt"); //crea il flusso in uscita fileDati.getline(buffer,300); //leggi prima riga e registra in un vettore chiamato buffer while(!fileDati.eof()){cerco la riga che mi interessa} cout << TAGstr << endl; fileOutputDati << TAGstr << endl; //stampo su file in output |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:59.



















