Forum Clubic

Recherche chaine de caractère dans un fichier en C

bonjour

Je dois faire un vérificateur html en C et j’ai un souci avec ma fonction de recherche.


printf("Chaine a rechercher : ");
		fgets(chaine_recherche, LONGUEUR_CHAINE, stdin);// attention \n avant \0

		// suppression du dernier caractère : \n
		chaine_recherche[strlen(chaine_recherche)-1]='\0';
		
		rewind(stdin);
		//remise à zero du curseur
		rewind(fichier);


		while (fgets(chaine, LONGUEUR_CHAINE, fichier) != NULL) // On lit le fichier tant qu'on ne reçoit pas d'erreur (NULL)
		{
			
				suiteChaine = strstr (chaine, chaine_recherche);
			
		}

		if (suiteChaine != NULL)
		{
			printf("Voici la fin de la chaine a partir du premier des caracteres trouves : ");
			puts(suiteChaine);
			//system("pause");
		}
		else if (suiteChaine == NULL)
			printf("Aucun mot de votre recherche correspond\n\n");
	}

En effet, la recherche ne s’effectue que sur la dernière chaine de caractère lue par le programme mais par sur lesprécédentes, de ce fait le programme ne trouve comme balise que (pas de , de , …)

Est ce que quelqu’un sait pourquoi ??

Merci d’avance !

un rewind sur stdin? C’est un peu voué à l’échec je dirais.

tu peut aussi faire un:

fseek(fichier,0,SEEK_SET); ??

ca reviend a faire un rewind pour etre sur d’etre au debut…