Retour à la ligne dans 1 fichier txt

Fermé
betterlife Messages postés 27 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 31 janvier 2010 - 7 nov. 2009 à 11:19
betterlife Messages postés 27 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 31 janvier 2010 - 7 nov. 2009 à 16:17
Bonjour,
comment faire un retour à la ligne dans un fichier texte en utilisant le langage c ?? cette cmd ne marche pas: fprintf(ficnou,"\n");
merci B1
A voir également:

12 réponses

marven23 Messages postés 71 Date d'inscription samedi 11 juillet 2009 Statut Membre Dernière intervention 20 août 2013 2
7 nov. 2009 à 11:25
salut,

comment ca marche pas?
c'est une erreur de compilation ou après l'éxecution tu n'obtient pas de résultat voulu?

explique d'avantage pour que je peux t'aider...

@+
0
betterlife Messages postés 27 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 31 janvier 2010
7 nov. 2009 à 12:40
je veux transformer une chaine de caractere d'un fichier à un autre, le deuxieme fichier contient qu'un mot à la ligne, càd si il trouve un espace sur la ligne du premier fichier, il fait un retour à la ligne sur le deuxieme fichier
0
marven23 Messages postés 71 Date d'inscription samedi 11 juillet 2009 Statut Membre Dernière intervention 20 août 2013 2
7 nov. 2009 à 12:51
Poste ton code pour que je puisse t'aider...

@+
0
betterlife Messages postés 27 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 31 janvier 2010
7 nov. 2009 à 12:55
void CClient::lire_fichier(char *nom_fic)
{
FILE *fic,*ficnou;
fic = fopen(nom_fic,"r");

ficnou = fopen("d:\\tmp.txt","w");
char chaine[100];
char *p;
int j=0;
int i=0;

if (!fic){
printf("erreur");
exit(0);
}
else{
fgets(chaine,100,fic);

}



for(p=chaine;*p;p++){
if(*p != ";")
fwrite(p,50,1,ficnou);
else
fprintf(ficnou,"\n");
}
}
0

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

Posez votre question
marven23 Messages postés 71 Date d'inscription samedi 11 juillet 2009 Statut Membre Dernière intervention 20 août 2013 2
7 nov. 2009 à 13:12
1. tu a lu le fichier dans chaine[100] donc tu doit etre sûr que la taille du fichier source est de 100 carcacteres
sinon tout le travail est faux

2. au lieu de se casser la tete avec un pointeur tu peut parcourir simplement la chaine lu avec un index: chaine[i]
au lieu de p, car tu connait déja la taille de chaine

for(int i=0;i<100;i++){
if (chaine[i]!=' ') fputc(chaine[i],ficnou);
else fputc('\n',ficnou);
}

3. pourquoi le caractere ';' tu as dit espace et non pas point virgule?
0
betterlife Messages postés 27 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 31 janvier 2010
7 nov. 2009 à 13:18
j'ai changé le séparateur ds le fichier, mnt c ';'
0
betterlife Messages postés 27 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 31 janvier 2010
7 nov. 2009 à 13:22
je connais pa la taille du fichier, pcq c variable, ta solution ne m a pa fait le retour à la ligne aussi
0
marven23 Messages postés 71 Date d'inscription samedi 11 juillet 2009 Statut Membre Dernière intervention 20 août 2013 2
7 nov. 2009 à 13:29
1. alors tu doit lire le fichier caractere par caractere jusqu'à le EOF caractere

2. et si le retour à ligne est effectué par : else fputc('\n',ficnou); // traduction : si le carcatere==';' on ecrit '\n'

@+
0
betterlife Messages postés 27 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 31 janvier 2010
7 nov. 2009 à 13:35
comment je peux le lire caractere par caractere ??
0
betterlife Messages postés 27 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 31 janvier 2010
7 nov. 2009 à 13:36
et ce code :
for(p=chaine;*p;p++){
if(*p==';')
fputc('\n',ficnou);

else
fwrite(p,sizeof(chaine),7,ficnou);

}


me permet de lire caractere par caractere ??
0
marven23 Messages postés 71 Date d'inscription samedi 11 juillet 2009 Statut Membre Dernière intervention 20 août 2013 2
7 nov. 2009 à 13:37
char c;
c=fgetc(fic);
0
betterlife Messages postés 27 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 31 janvier 2010
7 nov. 2009 à 16:17
merci pr ton aide, ca marche mnt
0