Nouvelle de mon prog en c
celine
-
zanlou -
zanlou -
ca y est g enfin reussi a voir le bout du tunnel g reussit a ouvrir lire un fichier et transferer ses elements dans un autres fichier seulement quand je veux etendre mon prog a deux fichiers ouverts et transferer leurs elements dans un meme et un seul fichier je n ai comme resultat que les elements du second fichier.je pense qu il faut introduire une notion de pointeur Pouvez vous me donner des indications SVP.Gros merci.voici mon prog
#include <stdio.h>
//#include <io.h>
//#include <dos.h>
//#include <sys\type.h>
// fonction ouverture des fichiers entree et sortie//
FILE *fopen(const char *entree,const char *r);
FILE *fopen(const char *entree2,const char *r);
FILE *fopen(const char *sortie,const char *w);
//fonction qui positionne le pointeur de fichier a la fin du fichier out//
//long lseek(int cle, long decalage, int SEEK_END);
//fonction creation de fichier avec chemin imposer//
//int creattemp(const char *chemin, int FA_READONLY);
//fonction effacement du fichier temp//
//int remove(const char *sortie);
//void GetTime(struct time *Heure_Actuelle);
//void GetDate(struct date *Date_Actuelle);
void main(void)
{
//chemin d'entree,nb:le c peut ouvrir jusqu'a 20 fichiers //
const char *entree= "c:\\projet~1\\essailocal\\pbx001\\subscrib.log";//c:\\projet~1\\essailocal\\pbx002\\subscrib.log,c:\\projet~1\\essailocal\\pbx002\\grp.log,c:\\projet~1\\essailocal\\pbx003\\subscrib.log, c:\\projet~1\\essailocal\\pbx003\\grp.log, c:\\projet~1\\essailocal\\pbx001\\subscrib.log, c:\\projet~1\\essailocal\\pbx004\\grp.log, c:\\projet~1\\essailocal\\pbx004\\grp.log";
const char*entree2="c:\\projet~1\\essailocal\\pbx001\\grp.log";
const char *sortie="c:\\TEMP\\stat.text";
int lettre,lettre2;
FILE *fichierin,*fichierout;
//chemin du fichier temporaire//
//char chemin[15]="c:\\TEMP\\";
//declaration pour reglage routine
//struct time *Heure_Actuelle;
//struct date *Date_Actuelle;
//GetTime(&*Heure_Actuelle);
//GetDate(&*Date_Actuelle);
//condition pour que prog se mettent en route,si condition realisee alors formatage du fichier temp//
//if ((Date_Actuelle.da_day="01")
//{
//effacement du fichier temp//
//while (*++sortie)
//if (Remove(*sortie))
//printf("Erreur ‡ la suppression du fichier");
//verification creation du fichier temporaire//
// if ((cle=creattemp (*chemin,0)) == -1)
// {
// printf("non cree");
// if (Heure_Actuelle="23:59:59:99")
// {
//verification ouverture correct des fichiers//
if ((fichierin=fopen(entree,"r"))== NULL)
printf("non ouvert1");
else if ((fichierin=fopen(entree2,"r"))== NULL)
printf("non ouvert2");
else if ((fichierout=fopen(sortie,"w"))== NULL)
printf("non ouvert3");
else
//lecture et ecriture de chaque caractere dans fichier correspondant//
while ((lettre=fgetc(fichierin)) != EOF)
fputc(lettre,fichierout);
fclose(fichierin);
while ((lettre2=fgetc(fichierin)) != EOF)
//lseek(cle,0,SEEK_END); //fin du fichier de sortie
fputc(lettre2,fichierout);
fclose(fichierin);
fclose(fichierout);
// }
//}
}
#include <stdio.h>
//#include <io.h>
//#include <dos.h>
//#include <sys\type.h>
// fonction ouverture des fichiers entree et sortie//
FILE *fopen(const char *entree,const char *r);
FILE *fopen(const char *entree2,const char *r);
FILE *fopen(const char *sortie,const char *w);
//fonction qui positionne le pointeur de fichier a la fin du fichier out//
//long lseek(int cle, long decalage, int SEEK_END);
//fonction creation de fichier avec chemin imposer//
//int creattemp(const char *chemin, int FA_READONLY);
//fonction effacement du fichier temp//
//int remove(const char *sortie);
//void GetTime(struct time *Heure_Actuelle);
//void GetDate(struct date *Date_Actuelle);
void main(void)
{
//chemin d'entree,nb:le c peut ouvrir jusqu'a 20 fichiers //
const char *entree= "c:\\projet~1\\essailocal\\pbx001\\subscrib.log";//c:\\projet~1\\essailocal\\pbx002\\subscrib.log,c:\\projet~1\\essailocal\\pbx002\\grp.log,c:\\projet~1\\essailocal\\pbx003\\subscrib.log, c:\\projet~1\\essailocal\\pbx003\\grp.log, c:\\projet~1\\essailocal\\pbx001\\subscrib.log, c:\\projet~1\\essailocal\\pbx004\\grp.log, c:\\projet~1\\essailocal\\pbx004\\grp.log";
const char*entree2="c:\\projet~1\\essailocal\\pbx001\\grp.log";
const char *sortie="c:\\TEMP\\stat.text";
int lettre,lettre2;
FILE *fichierin,*fichierout;
//chemin du fichier temporaire//
//char chemin[15]="c:\\TEMP\\";
//declaration pour reglage routine
//struct time *Heure_Actuelle;
//struct date *Date_Actuelle;
//GetTime(&*Heure_Actuelle);
//GetDate(&*Date_Actuelle);
//condition pour que prog se mettent en route,si condition realisee alors formatage du fichier temp//
//if ((Date_Actuelle.da_day="01")
//{
//effacement du fichier temp//
//while (*++sortie)
//if (Remove(*sortie))
//printf("Erreur ‡ la suppression du fichier");
//verification creation du fichier temporaire//
// if ((cle=creattemp (*chemin,0)) == -1)
// {
// printf("non cree");
// if (Heure_Actuelle="23:59:59:99")
// {
//verification ouverture correct des fichiers//
if ((fichierin=fopen(entree,"r"))== NULL)
printf("non ouvert1");
else if ((fichierin=fopen(entree2,"r"))== NULL)
printf("non ouvert2");
else if ((fichierout=fopen(sortie,"w"))== NULL)
printf("non ouvert3");
else
//lecture et ecriture de chaque caractere dans fichier correspondant//
while ((lettre=fgetc(fichierin)) != EOF)
fputc(lettre,fichierout);
fclose(fichierin);
while ((lettre2=fgetc(fichierin)) != EOF)
//lseek(cle,0,SEEK_END); //fin du fichier de sortie
fputc(lettre2,fichierout);
fclose(fichierin);
fclose(fichierout);
// }
//}
}
A voir également:
- Nouvelle de mon prog en c
- Darkino nouvelle adresse - Guide
- Extreme download nouvelle adresse - Accueil - Outils
- Darkino : le grand site pirate change d'adresse et d'interface - Accueil - Services en ligne
- Yggtorrent nouvelle adresse - Accueil - Outils
- Singe mp3 nouvelle adresse - Forum Musique / Radio / Clip
1 réponse
LE probleme vien du fait que le programme ne peut pas faire la difference entre les deux fichiers en entree.
Tu lui dit d'ouvrir la premier et tu fait pointer ta variable dessus.
Puis, tu ouvre le deuxieme fichier et tu fait pointer la meme variable dessus.
Il faut que tu definisse un pointeur sur chacun des fichiers oui que tu ouvre le deuxieme fichier apres avoir ferme le premier, a toi de voir.
A+
Zanlou
Tu as donc perdu la possibilté d'accéder au premiere fichier.
Ta boucle
while ((lettre=fgetc(fichierin)) != EOF)
fputc(lettre,fichierout);
ecrti donc dans le deuxieme fichier.
puis
fclose(fichierin);
ferme ce fichier
et bien sur
while ((lettre2=fgetc(fichierin)) != EOF)
//lseek(cle,0,SEEK_END); //fin du fichier de sortie
fputc(lettre2,fichierout);
ne fonctionne pas car tu essaie de lire un fichier que tu viens de fermer a l'instant.
Tu lui dit d'ouvrir la premier et tu fait pointer ta variable dessus.
Puis, tu ouvre le deuxieme fichier et tu fait pointer la meme variable dessus.
Il faut que tu definisse un pointeur sur chacun des fichiers oui que tu ouvre le deuxieme fichier apres avoir ferme le premier, a toi de voir.
A+
Zanlou
Tu as donc perdu la possibilté d'accéder au premiere fichier.
Ta boucle
while ((lettre=fgetc(fichierin)) != EOF)
fputc(lettre,fichierout);
ecrti donc dans le deuxieme fichier.
puis
fclose(fichierin);
ferme ce fichier
et bien sur
while ((lettre2=fgetc(fichierin)) != EOF)
//lseek(cle,0,SEEK_END); //fin du fichier de sortie
fputc(lettre2,fichierout);
ne fonctionne pas car tu essaie de lire un fichier que tu viens de fermer a l'instant.
Voici donc le message tel qu'il aurait du etre :)
--------------------------
LE probleme vien du fait que le programme ne peut pas faire la difference entre les deux fichiers en entree.
Tu lui dit d'ouvrir la premier et tu fait pointer ta variable dessus.
Puis, tu ouvre le deuxieme fichier et tu fait pointer la meme variable dessus.
Tu as donc perdu la possibilté d'accéder au premiere fichier.
Ta boucle
while ((lettre=fgetc(fichierin)) != EOF)
fputc(lettre,fichierout);
ecrti donc dans le deuxieme fichier.
puis
fclose(fichierin);
ferme ce fichier
et bien sur
while ((lettre2=fgetc(fichierin)) != EOF)
//lseek(cle,0,SEEK_END); //fin du fichier de sortie
fputc(lettre2,fichierout);
ne fonctionne pas car tu essaie de lire un fichier que tu viens de fermer a l'instant.
Il faut que tu definisse un pointeur sur chacun des fichiers oui que tu ouvre le deuxieme fichier apres avoir ferme le premier, a toi de voir.
A+
Zanlou