|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Oct 2002
Città: Vicino Fermo Mercatino:più di 100 trattative tutte OK
Messaggi: 4651
|
[C++] Lavorare con i file.
Ciao a tutti,
anzitutto grazie in anticipo a chi mi aiutera'. Stavo creando un programmino stupido per windows, giusto per "skillarmi" un po' col C++. Solo che sono arrivanto di fronte ad un problema: Come posso fare il parsing di un file di testo in C++? In C lo so fare senza problemi(fscanf->identificatori di tipo -> array di destinazione) , solo che volevo farlo con l'FSTREAM del C++. Come si fa? Ovvero dato un puntatore a file, so che nel file ci sono righe del tipo: carattere numeroint e stringa (es: A 1987 pippo) fineriga. Come faccio con l'fstream a leggeere i dati riga per riga ed a metterli in un array....? Se mi volete dare una mano ve ne sono grato! Ciao Wing |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Qualcosa del genere penso possa essere un inizio:
Codice:
#include <fstream>
using namespace std;
...
ifstream ifs("nomefile");
if (ifs.is_open())
{
|
|
|
|
|
|
#3 | |
|
Bannato
Iscritto dal: Oct 2002
Città: Vicino Fermo Mercatino:più di 100 trattative tutte OK
Messaggi: 4651
|
Quote:
Pero' forse nn mi sono spiegato bene io. mea culpa Quello che intendevo io, era fare il "parsing" di una riga. La funzione getline la conoscevo, quello che nn riesco a fare e' come fare il parsing di una riga, memorizzando elemento x elemento. Come ho scritto sopra! Grazie cmq Ciao Wing |
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Codice:
vector<string> fields;
string temp = line;
int separatorPos = -1;
while((separatorPos = temp.find(separator)) != temp.npos)
{
fields.push_back(temp.substr(0,separatorPos));
temp = temp.substr(separatorPos);
}
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:24.




















