Oppure

Loading
10/06/07 8:49
redlion
Giorno a tutti,
ieri mi è capitato di dover scrivere uno script in PHP che calcolasse tutte le permutazioni da 00 a 99 di una lista di parole, prendendo in input un file.txt e restituendone un altro con
nome00
nome01
..
nome99
Per tutte le parole del primo file.
Grazie alla funzione file() è stato facile, visto che ogni riga del file di testo veniva automaticamente inserita in un array di stringhe.

Per fare la stessa cosa in C++, ho cercato qualcosa di simile, ma non sapendo a priopri la lunghezza di ogni riga, ho provato solo a lavorare con i fgetc(), qualche loop e i caratteri di fine riga.. ma il codice si è indubbiamente appesantito.

C'è qualche funzione che potrebbe risolvere questa situazione?
Thx
aaa
10/06/07 11:39
netarrow
visto che usi C++ e non C ti conviene usare le classi

string

e

vector

hai un esempio qui:
pierotofy.it/pages/sorgenti/browse/14342/126/

[...]
 vector<string> parole; // memorizza le parole presenti nel file
        [...]
        ifstream* in = new ifstream(file.c_str());// allocazione dinamica, dato che il nome del file si sa a run-time
        if(!in->is_open()) { // se il file non è stato trovato
            // avverti l'utente
            cerr << "Errore: file " + file + " non trovato" << endl;
            cout << "Premi un tasto ed invio per continuare... ";
            cin >> ch;
            exit(1);// esci in errore
        }
        string s; // stringa temporanea in cui salvare la parola corrente
        while(*in >> s) {
            parole.push_back(s); // aggiungila al vettore di stringhe
        } 
[...]


ciao
Ultima modifica effettuata da netarrow 10/06/07 11:46
aaa