Lire une ligne d'un fichier

Lire une ligne d'un fichier - C - Programmation

Marsh Posté le 23-08-2006 à 17:39:34    

Bonjour,
 
J'ai un petit probleme de C. Je voudrais lire une ligne entiere de mon fichier txt mais j'arrive a lire que le premier mot en faisant: fscanf(fParam,"%s\n",buffer);
Comment dois je faire?
Merci

Reply

Marsh Posté le 23-08-2006 à 17:39:34   

Reply

Marsh Posté le 23-08-2006 à 17:49:18    

Reply

Marsh Posté le 23-08-2006 à 17:54:25    

Pas mieux que _darkalt3_, fgets() fait ce que tu souhaites.
 
Pour les fonctions *scanf(), il faut savoir que celles-ci sont des fonctions de lecture formatées, autrement dit ce sont des fonctions qui ne sont pas si simples à utiliser parce qu'il faut jouer avec les patterns.
Et quand je dis jouer, c'est jouer correctement, pour blinder son pattern et ainsi éviter les problèmes de saisies qui peuvent autrement provoquer la mort de ton programme dans d'atroces souffrances.
 
Bref, si c'est juste pour lire une ligne de données dans un fichier, autant utiliser fgets().

Reply

Marsh Posté le 23-08-2006 à 17:57:51    

Ca marche tres bien sauf qu apres je met ca ds un CString et ca me sort un caractere carre a la fin de chaque ligne.

Reply

Marsh Posté le 23-08-2006 à 18:03:47    

Renseigne toi donc sur les caracteres de fin de chaine, regarde ce qu'il y a dans ta chaine obtenue par le fgets

Reply

Marsh Posté le 23-08-2006 à 18:08:13    

lepaysdu sucre a écrit :

Ca marche tres bien sauf qu apres je met ca ds un CString et ca me sort un caractere carre a la fin de chaque ligne.


 
 
ouvre le fichier en mode texte, ca garanti qu'une ligne est terminée uniquement par un \n

Reply

Marsh Posté le 23-08-2006 à 18:11:32    

lepaysdu sucre a écrit :

Ca marche tres bien sauf qu apres je met ca ds un CString et ca me sort un caractere carre a la fin de chaque ligne.


 
CString ? Qu'est-ce que c'est ? [:el g]

Reply

Marsh Posté le 23-08-2006 à 18:21:39    

skelter a écrit :

ouvre le fichier en mode texte, ca garanti qu'une ligne est terminée uniquement par un \n


Je viens d essayer d ouvrir mon fichier en mode txt avec fopen_s(&fParam,_bstr_t(filename),"t" )
mais quand j execute ca me fait une erreur en me disant "invalide file open mode". C est pas comme ca que je dois ouvrir mon fichier en mode texte?

Reply

Marsh Posté le 23-08-2006 à 18:25:03    

il faut preciser lecture/ecriture/ajout...
 
"rb" -> lecture binaire
"rt" -> lecture texte
"r" -> lecture texte si ton implementation est conforme avec l'ansi
 
edit: c'est quoi fopen_s ?

Message cité 1 fois
Message édité par skelter le 23-08-2006 à 18:25:56
Reply

Marsh Posté le 23-08-2006 à 18:34:58    

fopen_s c comme fopen mais en ameliorer pour VS2005.

Reply

Marsh Posté le 23-08-2006 à 18:34:58   

Reply

Marsh Posté le 23-08-2006 à 18:38:10    

ca change toujours rien quand je met "rt" et que j utilise fget j ai toujours ce caractere carre.

Reply

Marsh Posté le 23-08-2006 à 20:26:10    

que dit la doc ?
 
et pourquoi pas fopen ?

Reply

Marsh Posté le 23-08-2006 à 20:40:07    

j ai deja essaye avec fopen c pareil, meme resultat

Reply

Marsh Posté le 23-08-2006 à 20:42:10    

alors ca vient de ton fichier, sinon montre ton fichier et le code

Reply

Marsh Posté le 23-08-2006 à 20:55:07    

il vient d'unix ton fichier ?

Reply

Marsh Posté le 24-08-2006 à 13:09:28    

lepaysdu sucre a écrit :

Ca marche tres bien sauf qu apres je met ca ds un CString


Pas du C. Mauvais forum. (C++, c'est la porte d'à-coté).
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 24-08-2006 à 13:10:37    

skelter a écrit :

"rt" -> lecture texte


Pas standard. C'est "r".


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 24-08-2006 à 13:12:12    

lepaysdu sucre a écrit :

ca change toujours rien quand je met "rt" et que j utilise fget j ai toujours ce caractere carre.


Il faut supprimmer le \n. Sujet épuisé. Lire la FAQ du C :
 
http://docs.mandragor.org/files/Pr [...] lc_faq_fr/
 
ou ceci :  
 
http://mapage.noos.fr/emdel/notes.htm#saise
http://mapage.noos.fr/emdel/notes.htm#fichiers


Message édité par Emmanuel Delahaye le 24-08-2006 à 13:15:11

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed