Un problème d'ouverture de fichier sous C

Flo001 Messages postés 1 Date d'inscription lundi 17 mars 2003 Statut Membre Dernière intervention 22 mars 2003 - 22 mars 2003 à 11:47
catman35 Messages postés 2 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 28 mai 2003 - 2 mai 2003 à 14:13
Rien que de la bidouilleVotre texte ICI

Bonjour a tous...
je suis étudiant un Gestion des télécommunications et de réseaux....
Je commence tout juste à programmer en C.....
avec Turbo c++ 3.5
Ayant un projet à rendre...je sollicite votre aide...

je vous donne une partie de ce programme (c'est assez long)
c'est un programme permettant de traiter un fichier log d'un site web....

Le problème se passe à l'ouverture
Je n'arrive qu'à lire le fichier (lors de la saisie) une fois sur 20

Voici la partie du fichier C :

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <dos.h>

FILE *rapport;
FILE *source;
char fsource[80]="";
char frapport[]="rapport.html";

void lire_fichier(char fsource[30]);
void init_variable( sIP *IP, spage *page,sdate *date);
void tri_IP(structIP *IP,int nbIP);
void tri_page(structpage *page,int nbpage);
void tri_date(structdate *date,int nbdate);

void main()
{
clrscr();
lire_fichier(fsource);

fflush(stdin);getch();

}

void lire_fichier(char fsource[30])
{
printf("Entrez le nom du fichier a traiter(n'oubliez pas de mettre les ""slash"" et l'extension du fichier!): ");
gets(fsource); //saisie de fsource au clavier

FILE *source;//fichier source
FILE *rapport;//fichier rapport.html
int j,test,nombre=5;//variables cod'es sur 16 bits
//"j":permet le tri des tableaux
//"test":
//"nombre":
int long i;//permet le tri de tr?s grand tableaux cod? sur 32 bit!!
sIP IP;
spage page;
sdate date;

//----------ouverture du fichier source (en lecture)

source=fopen(fsource,"r");
printf("\nLecture du fichier source "%s" ",fsource);
if (!source) //si probleme ouverture : affichage d'un message d'erreur
{
printf("\nerreur d'ouverture du fichier");
getch();
exit(1);
//la fonction exit permet de fermer tous les fichiers
//c'est pour cela qu'on l'a choisie
}

else printf(": OK");
//si on a pu ouvrir le fichier source alors "OK" s'affiche

int nbIP=0,nbpage=0,nbdate=0,p1=0,p2=0,p3=0,p4=0;
//on a fait le choix d'initialiser toutes les variables pour
//n'avoir aucun r?sultat al'atoire(redondance des variables)

char choix;
//"choix":permet ? l'utilisateur de sauvegarder s'il le d?sire
// les informations tri?es sur un fichier nomm? rapport.html
char go='o';
char save='o';
char tmpIP[16];//d?signe les adresses IP
char tmpdate[12];//d?signe la date
char tmppage[60];//d?signe les pages web
char tmpheure[10];//d?signe l'heure
char tmp[16];//variable servant aux diverses tris et comparaisons
char tmp2;//variable servant aux diverses tris et comparaisons

if (source==NULL)//si la fin de fichier est atteinte
{
printf("\nerreur d'ouverture du fichier");
getch();
exit(1);//quitter et fermer tous les fichiers ouverts
}

VOILA.... dès le lancement du programme....et dès que je saisie l'emplacement du fichier....
19 fois sur 20 j'ai mon message d'erreur qui apparait comme koi il ne peut pas lire le fichier log
qui est web.txt

MERCI A TOUS

1 réponse

catman35 Messages postés 2 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 28 mai 2003
2 mai 2003 à 14:13
Salut,

je vais essayer de t'aider...

Tu déclares deux fois les variables "source" et "rapport".
Tu n'as pas de fonction qui permet d'avancer dans la lecture du fichier.
Essaye d'utiliser la fonction feof() afin de tester la fin de ton fichier.

J'espère que j'ai pu t'aider

Catman35
0
Rejoignez-nous