Demande aide aupres de connaisseurs du c

celine -  
 fenelus pierre mozard -
g etablit un prog qui permet d ouvrir plusieurs fichier et transferer leurs elements dans un fichier temp qui est detruit a chaque fin de mois et alimente chaque jour.malheureusement je ne peux pas le tester car il me manque la bibliotheque dos.h pouvez vous me dire les erreurs et vos conseils.gros merci
#include <stdio.h>
#include <io.h>
#include <dos.h>

// fonction ouverture des fichiers entree et sortie//
FILE *fopen(const char *entree,const char *r);
FILE *fopen(const char *sortie,const char *w);

//fonction creation de fichier avec chemin imposer//
int creat(char *chemin, int S_IWRITE);

//fonction effacement du fichier temp//
int remove(const char *sortie);

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\\pbx001\\grp.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 *sortie="c:\\TEMP\\";
int lettre;
FILE *fichierin,*fichierout;

//chemin du fichier temporaire//
char chemin[64]="c:\\TEMP\\";
int cle;

//declaration des variables de temps//
gettime(&heure_actuelle);
getdate(&date_actuelle);

//declaration pour reglage routine//
void gettime(struct time *heure_actuelle);
void getdate(struct date *date_actuelle);
struct time heure_actuelle;
struct date 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 = creat(chemin,S_IWRITE)) == -1)

printf("non cree");

if (heure_actuelle="23:59:59:99")
{

//verification ouverture correct des fichiers//
if ((fichierin=fopen(entree,"r"))== NULL)

printf("non ouvert");

else if ((fichierout=fopen(sortie,"w"))== NULL)

printf("non ouvert");

else

//lecture et ecriture de chaque caractere dans fichier correspondant//
while ((lettre=fgetc(fichierin)) != EOF)

fputc(lettre,fichierout);
fclose(fichierin);
fclose(fichierout);
}
}
}

3 réponses

AcGugus
 
Même sans la bibliothèque dos.h, tu peux compiler pour vérifier ta syntaxe, car il y a quelques petites lignes où il y a des erreurs, mais que j'hésite à te proposer une solution car je ne sais pas vraiment ce que tu veux faire. Par exemple, à la ligne où tu fais "gettime(&heure_actuelle);" il y a une erreur de syntaxe. La vrai fonction s'écrit GetTime (n'oublie pas, C différencie les minuscules des majuscules) C'est la même chose pour GetDate. Mais dans ces cas, si c'est ce que tu veux faire, tu ne peux pas utiliser ces fonctions comme ca...

Lorsque tu as des erreurs, ou lorsque tu n'es tout simplement pas sur de l'utilisation d'une fonction, va voir dans l'aide en ligne... C'est le meilleur moyen de voir leur utilisation....

Et aussi, c'est quoi ca??

//declaration des variables de temps//
gettime(&heure_actuelle);
getdate(&date_actuelle);

//declaration pour reglage routine//
void gettime(struct time *heure_actuelle);
void getdate(struct date *date_actuelle);
struct time heure_actuelle;
struct date date_actuelle;

dans ce que tu appelles //declaration des variables de temps// il n'y a pourtant aucune déclaration de variables, sauf peut-être déclaration de variables automatiques pour heure_actuelle et date_actuelle, que tu déclares "officiellement" plus bas.... Ce n'est pas très logique ca... Pour que le compilateur utilise correctement les variables que tu lui propose en paramètres, il doit en avoir la déclaration avant l'utilisation!!

Et si gettime et getdate sont des fonctions que tu as écris, où en sont les corps (le code que font ces fonctions)...

Tu vois, ce n'est que quelques erreurs que j'ai trouvé en copiant ton code dans un programme de compilation et en "l'exécutant"... Tu devrais en faire de même, c'est le meilleur moyen d'apprendre... Au moins comme ca, tu vas pouvoir voir tes erreurs et si tu as un vrai problème que tu ne comprends pas, tu pourras demander de l'aide plus précise sur des forums comme celui ci... Je veux bien t'aider, mais c'est un peu vague... Je ne suis pas certaine de ce que tu veux faire en regardant ton code, et ce, malgré les commentaires car, comme je te l'ai dit plus haut, sous ton commentaire de //declaration des variables de temps// il n'y a en fait aucune déclaration, ^moins que ce soit fait dans tes fonctions que tu appelles, mais dont on ne voit pas la définition, mais que l'en-tête. Si ton logiciel de programmation est plus ou moins vieux, ou qu'il n'a pas une bonne aide en ligne, alors je te suggère de te tourner vers Visual C++ de microsoft, ou encore vers le produit de la compagnie Borland.

Bonne chance, et si tu as d'autres questions, tu peux m'écrire, je vais essayer de t'aider...
0
celine
 
le but de mon prog est d ouvrir plusieurs fichier et de reunir leurs elements dans un fichier temp et attaquer ce fichier apres avec vb6 pour des operations de recuperation d element de ce fichier et les imprimer
0
Freedoomer
 
if (heure_actuelle="23:59:59:99")
if ((date_actuelle.da_day="01")

Il va rouler 24H/24 ton prog?? Méfie toi! Je vois pas trop poursquoi tu as besoin de l'heure là dedans... Vaudrait pas mieux que tu réunisse les éléments à caque lancement du prog? M'enfin sinon sur le site de borland t peyux récupérer le dos.h avec le compilo c gratuit.
0
fenelus pierre mozard
 
j'ai besoin de votre aide a ce sujet.Merci!
0