Retour à la ligne dans 1 fichier txt

betterlife Messages postés 30 Statut Membre -  
betterlife Messages postés 30 Statut Membre -
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 76 Statut Membre 2
 
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 30 Statut Membre
 
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 76 Statut Membre 2
 
Poste ton code pour que je puisse t'aider...

@+
0
betterlife Messages postés 30 Statut Membre
 
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 76 Statut Membre 2
 
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 30 Statut Membre
 
j'ai changé le séparateur ds le fichier, mnt c ';'
0
betterlife Messages postés 30 Statut Membre
 
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 76 Statut Membre 2
 
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 30 Statut Membre
 
comment je peux le lire caractere par caractere ??
0
betterlife Messages postés 30 Statut Membre
 
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 76 Statut Membre 2
 
char c;
c=fgetc(fic);
0
betterlife Messages postés 30 Statut Membre
 
merci pr ton aide, ca marche mnt
0