Oppure

Loading
09/09/10 20:44
psychotic.prankster
Salve ragazzi, mi sono iscritto a questo forum appositamente per chiedere a persone più esperte di me un modo per risolvere il mio problema.
Sto facendo un semplice parogramma per gestire un file.
Il programma comprende scrittura su file, lettura del file, ricerca all'interno del file e modifiche del file (parte in cui non mi sono ancora cimentato).

Il mio problema è:
come fare un funzione che ricerchi all'interno del file una stringa di caratteri data dall'utente, di qualsiasi lunghezza (a meno che non sia più grande del file stesso ovviamente) e contenente qualsiasi carattere? (e che possibilmente la indichi all'utente)

per la cronaca, proprio quando credevo di essere sulla buona strada mi sono accorto di una cosa:
esempio:
devo cercare la parola "zazao".

nel file vi è una riga con scritto:
"questa è la parola zazazao"

ora... la funzione di ricerca che stavo facendo non mi consentirebbe di scovare la parola zazao nella riga in questione, in quanto scoverebbe "zaza" (inizio parola) e troverebbe una z subito dopo. andando avanti con l'esecuzione trovrebbe solo il restante "zao", lasciandosi così indietro una "za" fondamentale.

Insomma, non voglio annoiarvi. Ma ciò che devo fare è una funzione (in C) che effettui una ricerca nel documento proprio come fanno i comuni blocco note, gedit, eccetera...

ps: scusate la mia niubbitudine. 8-|
Ultima modifica effettuata da psychotic.prankster 09/09/10 20:45
aaa
09/09/10 22:11
GuglielmoS
Utilizza la funzione strstr (cplusplus.com/reference/clibrary/cstring/strstr/).
Esempio:
#include <stdio.h>
#include <string.h>
...
if (strstr(stringa_in_cui_cercare,stringa_da_cercare))
  printf("Trovata!");
else
  printf("Non trovata!");
...

Ciao GuglielmoS
aaa
09/09/10 22:16
Poggi Marco
Analizza il file riga per riga.
Suddividi ciascuna riga in tante stringhe lunghe quanto la stringa da confrontare,
I caratteri che avanzano, li "aggiungi" alla riga successiva.
aaa
10/09/10 10:44
paoloricciuti
Oppure ancora devi analizzare comunque carattere per carattere tutto il file. Questo può risultare davvero lungo in alcuni casi

Esempio:

Parola da cercare: ciao
File di testo: ciaaciciciaiciauciaciciao

Però assicura di trovare la parola.
aaa