Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Leggere lista di parole come array
Forum - C/C++ - Leggere lista di parole come array

Avatar
redlion (Normal User)
Newbie


Messaggi: 10
Iscritto: 11/09/2006

Segnala al moderatore
Postato alle 10:49
Domenica, 10/06/2007
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

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 13:39
Domenica, 10/06/2007
visto che usi C++ e non C ti conviene usare le classi

string

e

vector

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

Codice sorgente - presumibilmente Delphi

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



ciao

Ultima modifica effettuata da netarrow il 10/06/2007 alle 13:46
PM Quote