[C] Recherche dans texte

Résolu/Fermé
skarsnick Messages postés 79 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 17 décembre 2009 - 22 mars 2007 à 10:25
skarsnick Messages postés 79 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 17 décembre 2009 - 22 mars 2007 à 12:25
Bonjour!
J'ai un petit soucis, pas bien compliqué je pense,
J'aimerai savoir si une chaine de caractère ( "1234" ) est dans un fichier...

En premier j'ouvre le fichier avec un

FILE *fichier;
ofpen ("fichier","rt");

mais ensuite comment faire?

je pense que strstr est une fonction à utiliser, mais comment lui passer le texte en argument?

2 réponses

Stupeflip Messages postés 391 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 4 décembre 2007 94
22 mars 2007 à 10:31
Salut,

Tu mets ton texte dans un buffer et tu fais
strstr(ton_buffer,ta_chaine);

Ca va pointer sur le début de ta chaine dans le buffer si ça le trouve, sinon ça renvoie NULL je crois.
0
skarsnick Messages postés 79 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 17 décembre 2009 59
22 mars 2007 à 11:44
Merci :)
Ca marche bien avec des fichiers normaux
hélas le fichier que j'ouvre est un fichier unix (bus/usb/devices)

et dans ce cas ca ne marche pas...
0
skarsnick Messages postés 79 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 17 décembre 2009 59
22 mars 2007 à 12:25
Finalement j'ai lancé à partir du C une commande en Shell car le fichier était vide avec un éditeur de texte et pourtant le grep marchait.
Merci :)
0