Votre question

Question sur la lecture de chaine dans un ficher [langage C]

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
1 Août 2006 21:39:29

Bonjour, alors voila mon problème: J'ai fait (pour m'entrainer) un petit programme en C qui lis des mp3; les chemins des fichiers sont stoké dans un fichier txt (1 fichier par ligne) et donc, pour lire une chanson, le programme lis une ligne avec "fgets", le problème c'est que le résultat de la lecture aparait de cette manière: "c:/.../.../.../machanson.mp3[]" Il y a un carré a la fin de la ligne, (quui est je pense le symbole de nouvelle ligne) mais a cause de sa, ben la musique ne peut pas ètre lu, le programme ne fonctionne pas, je voudrai donc savoir s'il existe un moyen de lire une ligne - n caractères?

Merci

Autres pages sur : question lecture chaine ficher langage

a c 232 L Programmation
1 Août 2006 21:53:16

il faut que tu t'arrètes au caractère "\n"
dans ton fichier txt, le petit carré que tu vois, c'est l'équivalent du "\n" en C qui veut dire que ça saute une ligne, mais le bloc notes affiche un carré à la place.

Si tu l'ouvres avec wordpad (par exemple), tu verras bien un saut de ligne.
1 Août 2006 22:02:04

oui, mais comment faire pour qu'a la lecture du fichier, le programme s'arrète avant le /n?
Contenus similaires
a c 232 L Programmation
1 Août 2006 22:07:37

http://www.lri.fr/~aze/page_c/aide_c/fgets.html
Il indique que fgets s'arrete au moment où il lit le caractère \n

Edit : pardon, il indique que le \n est dans la chaine de caractères ! attend qlq secondes !

Edit 2 : sinon, tu as strlen() pour avoir la longueur d'une chaine, donc tu fais un strlen()-1 pour avoir la longueur sans le dernier caractère, puis tu copies dans une autre variable
1 Août 2006 22:16:42

J'ai fait une capture de mon prog pour mieux comprendre:


Comme tu le vois, il y a un carré a la fin!

Et j'utilise bien la fonction fgets! ! !
J'sais plus quoi faire?!
1 Août 2006 22:19:48

Omar ta donné la bonne solution...

Tu peux aussi utilisé une fonction de remplacement de caractère "str_replace" tu remplace \n par un caractere vide
1 Août 2006 22:26:44

J'avais pas vu les édit's, désolé, j'ai utilisé ta technique Omar, sa marche nikel crome, merci.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS