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 :

Problème création Fichier sous Windows


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Par défaut Problème création Fichier sous Windows
    Bonjour,
    Je ne suis pas débutant en C mais pas expérimenté.
    J'ai un soucis en création de fichier. Je m'explique. J'ai un petit bout de code qui créé trois fichiers. Ce code marche sur un PC mais pas sur l'autre ? J'en finis par conclure que l'erreur est extérieure à mon code. J'en perds mon latin.
    Ce code fonctionne sur un pc en XP, un portable W7 et pas sur mon pc développement en vista ?
    Si quelqu’un a déjà connu cela ? si quelqu'un a une explication ?
    merci par avance
    je joins le code et le fichier compilé.

    le code:
    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
     
    #include <stdio.h>
    #include <stdlib.h>
     
    int main() 
    {
        FILE *f;
        char filename[255];
        int i;
     
        system("dir");
        for(i = 1; i < 4; ++i) {
            sprintf((char *) &filename,"%d.txt", i);
            printf("Je vais écrire %s\n", filename);
            f = fopen(filename, "w");
            if (f) {
                fprintf(f,"X=%d Y=%d\n", i, i + 1);
                fclose(f);
            } else fprintf(stderr, "Erreur pour écrire %s\n", filename);
        }
        getchar();
        return 0;
    }

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Les droits sur les dossiers sont-ils les mêmes pour les 3 OS ?

    Si ton PC de développement est Vista, je présume que l'application a été compilée avec Vista ?

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    vu les symptômes et l'UAC de Vista, ne pourrait-il pas s'agir d'un problème de droits à l'exécution du programme ? Comme une interdiction d'écrire sur le disque dur, ou d'y créer un fichier.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 480
    Par défaut
    Bonjour,

    Citation Envoyé par jpselve Voir le message
    Ce code marche sur un PC mais pas sur l'autre ? J'en finis par conclure que l'erreur est extérieure à mon code.
    Ne jamais conclure cela d'emblée. Il est très facile, en C, d'entrer dans des domaines indéfinis, dans lesquels un programme manifestement incorrect peut fonctionner quand même si tu as de la chance, ou planter lorsque l'environnement d'exécution diffère un peu. Ça semble être le cas aujourd'hui.

    Ce code fonctionne sur un pc en XP, un portable W7 et pas sur mon pc développement en vista ?
    Qu'entends-tu pas « ça ne fonctionne pas » ?

    • Ton programme refuse de compiler ?
    • Ton programme compile mais provoque une segfault à l'exécution ?
    • Ton programme s'exécute mais n'affiche pas ce que tu t'attends à voir ?
    • Ton programme fonctionne mais ne crée pas les fichiers attendus ?


    Tu vois que ces cas de figure sont très différents les uns des autres. Donne-nous plus d'infos.

    D'ici là, sache déjà que le C est sensible à la casse, donc il faut écrire « if » et « for » en minuscules, pas en majuscules. D'autre part, « fopen() » renvoie NULL s'il n'a pas réussi à ouvrir un fichier, mais « NULL » est un marqueur défini avec une macro #define. Ça veut dire qu'il est possible que le symbole « NULL » soit différent de zéro si ton compilateur est implémenté avec les pieds. Il faut donc toujours écrire « if (f!=NULL) » et jamais « if (f) » tout seul.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Par défaut solution !!
    Je suis tétu !!

    En fait c'était tout bête !!
    Avast avec l'option Sandbox filtre la création de nouveaux fichiers.

    J'ai en fin résolu ce problème qui remettait mon peu de savoir en doute sur un code tout simple. Je suis soulagé.

    Merci à tous ceux qui m'ont mis une réponse.

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

Discussions similaires

  1. Création de fichiers sous Windows 7
    Par Athur dans le forum Windows
    Réponses: 3
    Dernier message: 19/06/2011, 09h45
  2. Problèmes pour accéder aux tags de fichiers sous windows xp
    Par clakinette dans le forum Windows XP
    Réponses: 1
    Dernier message: 14/08/2008, 17h18
  3. [TP7] Problème de OutTextXY sous Windows XP
    Par Trash_men dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 03/09/2005, 18h29
  4. [PostGres] Problème installation PostGres sous Windows
    Par Torpille dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 27/08/2004, 16h05
  5. [Débutant] Problème d'installation sous Windows 2000
    Par bavmorda dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 04/08/2004, 16h28

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