IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

ouvrir un fichier en lecture en mode shared


Sujet :

C

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 360
    Points : 137
    Points
    137
    Par défaut ouvrir un fichier en lecture en mode shared
    Bonjour,

    je dois parcourir un fichier de log pour faire des recherches sur certain mot, mais comme ce fichier est ultilise par un programme la fonction fopen me renvoi une erreurc ar il est deja utilise.

    existe t-il une option dans fopen pour l'ouvrir en shared ?

    ou bien sinon je fait une copie de ce fichier avec un autre nom je fait mon traitement et je le supprime apres?

    quelqu'un aurait une idee ?

    Merci de votre aide.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    de quelle manière utilises-tu fopen ??

    montre...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 360
    Points : 137
    Points
    137
    Par défaut
    je l'utilise comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    void getLogDeletesMessages(int(*freply)(unsigned char *, int))
    {
    	FILE* flog;
    	char ligne[MAX_LINE];
    	char filename[80];
    	char * p =NULL;
    	char dest[80];
    	struct tm * pdh;
    	time_t intps; 
     
    	intps = time(NULL);
    	pdh = localtime(&intps);
     
     
    	strftime(dest, 80, "%Y-%m-%d", pdh);
    	strcpy(filename, dest);
    	strcat(filename, ".chatserv.txt");
     
    	if ((flog= fopen(filename, "r")) != NULL)
    	{
     
    		while(fgets(ligne, MAX_LINE, flog))
    		{
    			if ((ligne[0] != '\r') && (ligne[0] != '\n') ) {
    				p = strchr(ligne, '\n');
    				if (p)
    				{
    					*p = 0;
    				}
     
    				CharToOem(ligne,ligne);	
    				if (strstr(ligne, "deletes message") != NULL)
    				{
    					(*freply)((unsigned char *)ligne, (int)strlen(ligne));
    				}
    			}
    		}
    		fclose(flog);
    	} else debugLogParam("impossible d'acceder au fichier", filename);
     
    }

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 360
    Points : 137
    Points
    137
    Par défaut
    je viens de m'apercevoir que je n'ai pas mis le repertoire du fichier c'est surement ca, je refais le test et je mettrais resolu si c'est ca.

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    avant toute chose, plusieurs points de mauvaise programmation...


    Ecrire les tests avec les vraies valeurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    while(fgets(ligne, MAX_LINE, flog) != NULL)
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 360
    Points : 137
    Points
    137
    Par défaut
    donc je confirme c'est bien l'oublie du nom du repertoire, sinon en effet j'ai tendance a oublier les != null et tester directement la valeur retournee car un pointeur retourne un non nul si il pointe sur une adressel, je corrigerai de la facon que tu as indiqué.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ouvrir un fichier en lecture/ecriture
    Par imsse dans le forum VBScript
    Réponses: 3
    Dernier message: 27/01/2010, 15h01
  2. ouvrir un fichier en lecture et en écriture
    Par Baubeau Cédric dans le forum Débuter
    Réponses: 2
    Dernier message: 06/12/2009, 23h25
  3. Ouvrir un fichier en lecture/écriture en C
    Par ali.ensi dans le forum C
    Réponses: 6
    Dernier message: 10/10/2007, 14h02
  4. Ouvrir un fichier en mode lecture
    Par marwa_rades dans le forum Assembleur
    Réponses: 1
    Dernier message: 29/12/2006, 14h51
  5. ouvrir le fichier en lecture seule
    Par p'tite Sandrine dans le forum Access
    Réponses: 3
    Dernier message: 22/09/2006, 14h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo