Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème lecture de fichier

    5 septembre 2021 à 19:56:41

    Bonjour,

    Je n'arrive pas à ouvrir mon fichier teste.txt pour écrire dedans ou pour lire: le code

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[])
    {
        FILE* fichier = NULL;
    
        fichier = fopen("teste.txt", "w");
        printf("%p",fichier);
    
        if (fichier != NULL)
        {
            fputc('A', fichier); // Écriture du caractère A
            fclose(fichier);
        }
    
        return 0;
    }
    

    Mon fichier est bien à l'emplacement du .exe et j'ai lu toute les aides des forums je n'arrive pas à résoudre mon problème mon pointeur est toujours nul.

    Quand je télécharge un autre code d'exemple de tp, codeblock ouvre bien le fichier mais quand c'est moi qui écris le programme impossible, donc l'erreur vient de moi mais je ne sais pas d'où.

    Si quelqu'un à une solution. Voici une capture écran avec toute les infos pouvant être importante : https://zupimages.net/viewer.php?id=21/35/5wbf.png

    -
    Edité par CapuPepe 5 septembre 2021 à 19:58:43

    • Partager sur Facebook
    • Partager sur Twitter
      5 septembre 2021 à 20:06:26

      Bonjour ! Chez moi, qui utilise la ligne de commande, ça marche : j'obtiens bien un fichier "teste.txt" avec un 'A' dedans, et la ligne 9 a affiché la valeur du pointeur.

      J'en déduis que ce n'est pas un problème du programme, plutôt de Code::Blocks. Des réglages manquants ?

      -
      Edité par robun 5 septembre 2021 à 20:08:13

      • Partager sur Facebook
      • Partager sur Twitter
        5 septembre 2021 à 20:22:38

        Hello,

        Tu pourrais remplacer ta ligne 9 par perror("après open: "); , cela te donnerait plus d'information sur le problème.

        • Partager sur Facebook
        • Partager sur Twitter

        On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

          5 septembre 2021 à 21:05:46

          Merci à vous deux pour votre aide, je viens de voir le problème après avoir laisser le code en repos je relance quelque heure plus tard et mon anti-virus m'avertis seulement après que j'ai galéré toute l’après midi qu'il interdit l'ouverture du fichier ... sacrés perte de temps. Enfin bref, vérifiez votre anti-virus si vous avez un problème similaire à l'avenir  (j'ai avast).

          Cordialement,

          • Partager sur Facebook
          • Partager sur Twitter
            6 septembre 2021 à 1:44:45

            J'ai également eu des problèmes semblables avec Avast sur Windows 10. Il empêchait certaines tâches de démarrer.
            Microsoft Defender me semble suffisant.
            J'allais te suggérer perror() comme le mentionne edgarjacobs.
            Tu dois faire un  #include <errno.h>  au début.
            Ensuite:
            char *name = "test.txt";   // Mettre le nom du fichier dans une variable.
            FILE *file = fopen(name, "w");
            if(file == NULL) {
                perror("nom_du_programme");   // Je met le nom de la fonction qui appelle fopen.
                printf("Can't open file '%s'\n", name);
                exit(1);   // Requière #include <stdlib.h>
            }
            • Partager sur Facebook
            • Partager sur Twitter

            Le Tout est souvent plus grand que la somme de ses parties.

            Problème lecture de fichier

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown