Il y a actuellement 585 visiteurs
Vendredi 22 Novembre 2024
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

problème de lecture fichier en langange C avec fgets

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

problème de lecture fichier en langange C avec fgets

Message le 19 Mai 2009 18:43

Bonjour à tous,

J'ai un petit problème que je n'arrive pas à résoudre en C:

imaginons que dans un fichier texte j'ai :

<html>
<body>
bonjour
</body>
</html>

pour lire le fichier je fais :

while (fgets(texte,sizeof(texte),f));
{
#ifdef ESPION
printf("[ESPION] %s",texte);
#endif
strcat(buffer, texte);
}

Je vois que ma page ne s'affiche pas correctement... je décide donc de regarder mon [ESPION]... ET SURPRISE... :

il n'a retransmi que </html> c'est à dire la dernière ligne...

Il doit manquer quelque chose dans ma boucle WHILE pour retransmettre dans buffer toutes les lignes mais je ne sais pas quoi sa me retourne les méninges c'est horribles mdrr!
Par contre si je mets ma page sur une seule ligne ça marche parfaitement mais bon c'est fastidieux et si je doit rajouter quelque chose dedan je m'y retrouve plus...

je précise que j'ai bien rentré mes variables comme il faut :
FILE*f;
char texte[2000];
et le buffer est un pointeur qui ira tt droit dans mon serveur.

Si vous pouviez m'aider sa serait simpa XD!

Je vous remercie d'avance.
shinobitom
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 148
Inscription: 14 Avr 2009 19:06
 


Message le 25 Mai 2009 17:42

Personne ne peut m'aider? sniif ^^

HEELP lol

En fait je suis étudiant et je dois rendre mon projet dans 1 semaine^^
J'ai tout réussi sauf ça. Ce serait vraiment sympa de votre part si quelqu'un pouvais me donner un petit coup de pouce lol.

Je rappel : Language C
Lecture d'un fichier texte comportant plusieurs ligne en utilisant la fonction fgets.

LE PROBLEME : En utilisant simplement fgets le programme me lit seulement la première ligne et en utilisant while (fgets) il ne me lit que la dernière ligne car il me manque quelque chose dans ma boucle while.

Voila merci d'avance je vous serais très reconnaissant^^
shinobitom
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 148
Inscription: 14 Avr 2009 19:06
 

Re: problème de lecture fichier en langange C avec fgets

Message le 25 Mai 2009 20:49

Rhooo... je l'avais pas vu le méchant à la première lecture :
Code: Tout sélectionner
while (fgets(texte,sizeof(texte),f));  <== !!!!!!!!
{
   #ifdef ESPION
etc....


Bel exemple de point virgule "oublié" qui fait une boucle (presque) infinie sur le fgets() jusqu'à la dernière ligne.
Pas étonnant que ce soit la dernière ligne qui soit lue par ton mouchard.
Avatar de l'utilisateur
CaSa
PC-Infopraticien
PC-Infopraticien
 
Messages: 9048
Inscription: 13 Mai 2003 16:32
Localisation: Sisteron... et jamais loin d'une Debian
 

Message le 25 Mai 2009 21:43

Un grand merci CaSa!!
En effet j'avais oublié d'enlever cette virgule lol MAIS ce n'était pas tout! :

Après une bonne semaine de recherche j'ai réussi a trouver la solution finale!

Voilà pour ceux qui auront le même problème :

while (fgets(texte,sizeof(texte),f) != NULL )
{
...
}

Et oui j'avais aussi oublié le != NULL voili voilou!
shinobitom
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 148
Inscription: 14 Avr 2009 19:06
 



Sujets similaires

Message Problème USB 3 sur mini PC (SSD M2 externe)
Bonjour a tous, j'ai un problème sur un mini PC fonctionnant sur un Intel N100. Il y a 2 port usb2 et 2 ports usb3. Mon problème ? Il semble que certains perifériques ne fonctionnent pas correctement (en l'occurence, les boitiers externes pour SSD M2).Si le SSD M2 est connecté sur un USB3 j'obtiens ...
Réponses: 5

Message probleme avec le logiciel nvidia
Bonjour,Oui DDU est très efficace , on s'en sert surtout quand on change de fabricant de carte graphique de AMD vers Nvidia par exemple. Il nettoie tout.Bonne journée.
Réponses: 13

Message Récupération fichier disparu sur Windows 10
Bonjour,En tapant dans Word, le texte a subitement dusparu. Impossible de le récupérer. Je l'avais déja partiellement enregistré la veille : impossible également derécupérer ce dernier. Que faire ? Toutce que j'ai pu récupérer c'est une partie du texte que j'avais enregistré préalablement dans Drive ...
Réponses: 1

Message [Réglé] probleme windows update recherche sans fin
Salut tout le monde depuis quelques jours lorsque je clique sur Windows update et recherche de mise à jour en cours cela se mets en recherche sans fin voir ma capture écran Rien n'y fait, j'ai beau exécuter l'utilitaire de dépannage Windows update rien n'y fait? Il me détecte en effet un incident, m ...
Réponses: 14

Message Fichier HEVC
Bonjour jai transférer des fichiers photos et vidéo,de mon smartphone sur mon pc , les vidéo sont au format HEVC le problème quand je veux les lire sur le pcCa marche pas , il a pas les codecs Comment je peu faire pour les mettre sur le pc Merci
Réponses: 4

Message [Réglé] Problème de dépendance manquantes sur Kali Linux
Salut, j'ai essayé d'installer un logiciel (Free download manager) sur Kali Linux Mais quand j'ai essayé de l'installer, ça a affiché qu'il y a des dépendance manquantesQuelqu'un peut-il m'aider à résoudre ce problème s'il vous plaît ?
Réponses: 1

Message Problème d'installation Kali Linux Dual boot
Bonjour, j'ai crée une nouvelle partition pour l'installation de Kali Linux, après j'ai démarrer l'installation de Kali Linux en dual boot via clé USB, j'ai suivi les instructions, mais quand je clique sur terminer le partitionnement et appliquer les changements, ça affiche "Aucun système de fi ...
Réponses: 1


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 14 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.