Il y a actuellement 78 visiteurs
Vendredi 30 Juillet 2021
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.
Libérez-vous : http://www.debian.org
Nobody knows what sysadmin does... until he stops doing it
Avatar de l'utilisateur
CaSa
PC-Infopraticien
PC-Infopraticien
 
Messages: 8978
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 probleme ecran en veile et ordi qui tourne
jai un probleme avec mon ordi de bureau tout tourne normalement lecran marche bien et quelque jours apres en le ralument lecran reste en veil et lordi tourne bien en le demontent jai toucher un peut la carte graphique jai ralumer lordie et la sa a marcher mais quelques jours apres rebelote ecrant en ...
Réponses: 5

Message probleme age of empires 3 sur steam
Salut tout le monde depuis quelque temps lorsque je joue sur Steam avec age of empire 3 définitive édition pendant le jeu aléatoirement le jeu plante comme si ma carte graphique était soit défaillante, soit le processeur car le jeu est souvent assez lent voici le type de message que j'ai avant que t ...
Réponses: 4

Message Problème d’affichage 2e écran et tablette graphique
Bonjour à tous,Le problème est le suivant, j?ai besoin de travailler sur 2 écrans et sur une tablette graphique, le câble de mon 2e écran est en HDMI et ma tablette également. Ne possédant qu?une connectique en HDMI sur ma tour j?ai donc acheté un adaptateur HDMI pour double HDMI histoire de faire f ...
Réponses: 0

Message Lenovo yoga problème écran tactile fausses pressions
Bonjour à tous!Je possède un lenovo yoga qui a commencé à bugger depuis quelques mois... L'écran détecte des pressions de partout alors que j'y touche pas comme dans cette vidéo: https://www.youtube.com/watch?v=NKnI4hhyUqg Même si je redémarre le pc, ça recommence, le pc n'est pas en surchauffe (ça ...
Réponses: 11

Message Problème avec cette dernière mise à jour
J'essaie d'installer cette nouvelle mise à jour Windows critique depuis quelques jours maintenant et je continue à rencontrer le même problème, étant donné que cela ne le fait pas.Je vais donc installer les mises à jour et j'obtiens : Mise à jour des fonctionnalités vers Windows 10, version 20H2 Ins ...
Réponses: 3

Message Problème de micro
Bonjour à tous,Dernièrement, le micro de m webcam sur zoom ne fonctionnait pas. D'ou pourrit venir le problème?Avec les derniers Windows je ne sais même plus ou aller pour tester le micro de ma webcam. Je me souviens qu'à l'époque de skype ou msn je pouvais aller dans le menu Windonws qqprt pour fai ...
Réponses: 2

Message Copier tous les fichier d'un même type en bat
Bonjour.J'ai vu qu'on pouvait utiliser l'astérisque en batch comme "joker", pour viser plusieurs fichiers d'un seul coup, comme par exemple le code ci-dessous qui serait censé copier tous les fichier mp3 dans un nouveau dossier :Code: Tout sélectionnerxcopy  c:\*.mp3  nom_du_doss ...
Réponses: 14


Qui est en ligne

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


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