Newsgroup: it.comp.lang.c++
Titolo: Cercare una stringa con c++ -- vi metto alla prova

Buongiorno a tutti, 
non lasciatevi confondere dal titolo non so nemmeno io come risolvere
il problema:)
Allora: io ho un file di testo gigantesco che contine (dopo dei
caratteri a caso) queste stringhe
<inizio>blablabla<fine> 
io devo estrarre dal file tutti i "blablabla" cioč tutte quelle parole
comprese tra <inizio> e <fine> (andrebbe bene anche con <inizio> e
<fine> inclusi...
MA COME SI FA?!?!?! STO IMPAZZENDO SONO 2 GIORNI CHE CI PENSO!
HELP!

 io devo estrarre dal file tutti i "blablabla" cioè tutte quelle parole


 <fine> inclusi...
Metti un flag a false.
Leggi, carattere per carattere, tutto il file {
  Quando trovi il carattere <inizio> poni il flag a true.
  Quando trovi il carattere <fine> poni il flag a true.
  Se il flag è true allora appendi questo carattere alla tua destinazione
    altrimenti lo ignori
}
-- 
Luc.

 Luc.
Maurus

   Quando trovi il carattere <fine> poni il flag a true.
forse è meglio se il flag, dopo <fine>, lo mettiamo a false. :)
altrimenti ci tiriamo nel buffer mezzo file..
--
Lupin85©
Azzurranet IRC: +#afiad, @#fils - ICQ: 91528290
Mail: Remove PAN to contact me
- "It is not important what you believe, only that you believe." -

 altrimenti ci tiriamo nel buffer mezzo file..
Dai..... Era un errore di copia ed incolla, ovviamente... E poi volevo 
vedere se se ne accorgeva Alberto... ;)
-- 
Luc.

 E poi volevo vedere se se ne accorgeva Alberto... ;)
risposta a trabocchetto.. geniale! :))


...


 > io devo estrarre dal file tutti i "blablabla" cioč tutte quelle parole


...


 faccio a confrontare una stringa con un carattere?...
ciao,
non ho tempo di farti un esempio ad hoc, ma tempo fa avevo fatto
questo e sono sicuro che puoi trovare ispirazione per risolvere il tuo
problema:
http://makeashorterlink.com/?R16632C02
--
Gerolamo

 HELP!
Se hai un file gigantesco, non puoi quindi sapere quanti caratteri ci
possono essere fra i tuoi tags <inizio> e <fine>.
A parte il problema di trovare i tags, che mi sembra te lo abbia spiegato
Gerolamo con un esempio utilizzando dei metodi di string, il problema qua e'
poter memorizzare da qualche parte cio' che c'e' in mezzo, che potrebbe in
teoria essere enorme come il file.
Io farei cosi':
- mi allocherei dello spazio fisso, diciamo di N caratteri, oppure userei
delle string temporanee per memorizzare li' il risultato parziale di cio'
che mano a mano leggi dal file e che e' compreso fra i 2 tags.
- Nel caso in cui stai oltrepassando la taglia del tuo buffer temporaneo o
della capacita' della tua string, riverso tutto il risultato temporaneo su
un file su disco di risultati.
- Anche quando raggiungo il tag di <fine> riverso tutto il mio risultato
temporaneo dalla memoria al file di risultati su disco.
Cio' perche' non sapendo a priori la grandezza del tuo file di input e
quindi nemmeno la totalita' dei caratteri che possono esserci frai 2 tags e
nemmeno il numero max delle stringhe possibili da salvare, non possiamo
allocare in memoria un numero di elementi che ci possa far stare tranquilli.
Per cui dovremmo appoggiarci a un file di risultati su disco sfruttando un
buffer temporaneo in memoria.
Maurus