Passage à la ligne dans un fichier.txt aprés chaque mot

romydamour Messages postés 30 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 6 juillet 2005 - 13 avril 2005 à 14:56
jc_romeo Messages postés 59 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 13 janvier 2006 - 13 avril 2005 à 16:55
salut à tous, j'ai un souci avec le passage à la ligne dans un fichier texte, j'ai su transférer le contenu de plusieurs fichiers dans un seul et même fichier.txt mais j'aimerai que chaque mot ou chiffre apparaisse sur une ligne différente de mon fichier;
Par la même occasion si quelqu'un sait comment récupérer ces différentes lignes pour les introduire dans différentes colonnes d'une table access, ça me serait vraiment trés trés utile.

Voici un bout de mon code: (en fait je ne sais pas utilisé le strtok dans cette situation, il y a un problème de conversion, je sais pas faire)

char seps[] = " []{}(),\t\n";
char *token;
FILE *entre1,*entre2,*entre3,*sortie;
int ent1, ent2, ent3, suite;


entre1 = fopen( "fichierGUD.txt", "r+" );
entre2 = fopen( "TAILLAGE.MPF", "r+" );
entre3 = fopen( "SPB_150_2_AL.MPF", "r+" );
sortie = fopen("fichier_sortie.txt", "w+");
if( sortie == NULL )
printf( "le fichier_sortie n'a pas pu être ouvert\n" );
else
{
while ((ent1 = fgetc(entre1)) != EOF)
{
//token = strtok( ent1, seps );
fputc(ent1, sortie);
}
suite = fseek( sortie, 0L, SEEK_END);
if( suite )
perror( "Fseek failed" );
else
{
while ((ent2 = fgetc(entre2)) != EOF)
{
//token = strtok( ent2, seps );
fputc(ent2, sortie);
}
suite = fseek( sortie, 0L, SEEK_END);
if( suite )
perror( "Fseek failed" );
else
{
while ((ent3 = fgetc(entre3)) != EOF)
{
//token = strtok( ent3, seps );
fputc(ent3, sortie);
}
}
}
fclose( entre1 );
fclose( entre2 );
fclose( entre3 );
fclose( sortie );
}

A+ Romy

1 réponse

jc_romeo Messages postés 59 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 13 janvier 2006
13 avril 2005 à 16:55
Essaye, une fois que tu as récupéré les caractères de chacun de tes fichiers et que tu les as écrit dans ton fichier de sortie, d'ajouter un fprintf(sortie,"\n");
normalement, cela devrait marcher

exemple:
while ((ent1 = fgetc(entre1)) != EOF)
{
//token = strtok( ent1, seps );
fputc(ent1, sortie);
fprintf(sortie,"\n");
}

tu pourrais même essayer pour chacun des fichiers (comme cela tu prends les mots les uns apres les autres, mais je suis pas sur que cela marche)
char *temp;
temp=(char *)malloc(sizeof(char)*80);
while(fscanf(entree,"%s",&temp)!= EOF)
fprintf(sortie,"%s\n",temp);

JC
0
Rejoignez-nous