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
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
A voir également:
- Retour à la ligne dans 1 fichier txt
- Fichier rar - Guide
- Aller à la ligne excel - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
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
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...
@+
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...
@+
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
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
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
7 nov. 2009 à 12:51
Poste ton code pour que je puisse t'aider...
@+
@+
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
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");
}
}
{
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");
}
}
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
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?
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?
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
7 nov. 2009 à 13:18
j'ai changé le séparateur ds le fichier, mnt c ';'
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
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
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
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'
@+
2. et si le retour à ligne est effectué par : else fputc('\n',ficnou); // traduction : si le carcatere==';' on ecrit '\n'
@+
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
7 nov. 2009 à 13:35
comment je peux le lire caractere par caractere ??
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
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 ??
for(p=chaine;*p;p++){
if(*p==';')
fputc('\n',ficnou);
else
fwrite(p,sizeof(chaine),7,ficnou);
}
me permet de lire caractere par caractere ??
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
7 nov. 2009 à 13:37
char c;
c=fgetc(fic);
c=fgetc(fic);
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
7 nov. 2009 à 16:17
merci pr ton aide, ca marche mnt