Retour a la ligne en c

seo610 Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   -  
seo610 Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   -
Rebonjour,
comment enlever les \n dans la lecture d'un fichier avec fgets ex:
fichier nom.txt :

marcel
bob
jack
allah
youchuuisme
banabe

la ca le met dans une chaine : fprintf("test%stest...", fichierdenom.txt);
mais il met le retour a la ligne,
comment faire pour l'enlever en gardans la fichier nom.txt tel quel?
merci.

5 réponses

Urielxx Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   46
 
Tu parcours la chaine et tu enlèves les caractères '\n'
0
seo610 Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   102
 
oui, mais comment?
0
Urielxx Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   46
 
Tu dois lire tes lignes dans un tableau, non ?

Un truc genre :
/* on cherche le retour chariot */
for (i=0; chaine[i] != '\n'; i++);
/* on remplace par le marqueur de fin de chaine */
chaine[i] = '\0';

0
seo610 Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   102
 
bon, ca marche pas, voici ma source :
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
FILE* fichier = NULL;
FILE* profe = NULL;
char prof[1000] = "";
int i;
fichier = fopen("fichier.txt", "a+");
profe = fopen("nom.txt", "r");

while (fgets(prof, 1000, profe) != NULL)
{
fprintf(fichier, "%s", prof);
for (i=0; prof[i] != '\n'; i++);
prof[i] = '\0';

}
fclose(profe);
fclose(fichier);
printf("Fini\n\n");
system("PAUSE");
return 0;
}


ca compile mais ca plante quand je le lance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Urielxx Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   46
 
Il faut modifier la chaine avant de l'écrire, déjà (si j'ai bien suivi ce que tu veux faire)

for (i=0; prof[i] != '\n'; i++);
prof[i] = '\0';
fprintf(fichier, "%s", prof);

0
seo610 Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   102
 
ca ne marche pas plus
0