Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème ouverture fichier sous Code::Blocks

Sujet résolu
Anonyme
    11 avril 2015 à 15:03:16

    Bonjour !

    J'ai commencé depuis peu la programmation en C sous l'IDE Code::Blocks, et je suis extrêmement reconnaissant envers ce site vis-à-vis des excellents cours et conseils qui s'y trouvent. Cependant, je suis confronté à un problème et j'espère que vous pourrez m'aider.

    Je cherche en fait à ouvrir un fichier en .txt pour pouvoir travailler avec. Voici donc mon code :

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        FILE* Fichier = NULL;
        Fichier = fopen("test.txt", "r+");
    
        if (Fichier != NULL)
        {
            printf ("Fichier ouvert.");
        }
        else
        {
            printf ("Erreur.");
        }
    
        return 0;
    }
    


    Le fichier "test.txt" est bien situé dans le même répertoire que le .exe.

    En fait, lorsque j’exécute ce programme depuis Code::Blocks, la console m'affiche "Erreur.", mais si j'exécute directement le .exe, elle m'affichera "Fichier ouvert." : j'en conclut donc que le problème vient probablement de Code::Blocks, sûrement d'un réglage mal paramétré. Également, si je remplace "test.txt" dans le code par une adresse absolue de type "C:\\Users\\Tom\\Desktop\\Test\\bin\\Debug\\test.txt", ça marche parfaitement aussi bien depuis l'IDE que le .exe. Je suppose que Code::Blocks a un problème avec les adresses relatives, peut-être ne sont elles pas activée. Si c'est le cas, est-ce que vous savez quels paramètres sont à activer ?

    Merci d'avance !

    • Partager sur Facebook
    • Partager sur Twitter
      11 avril 2015 à 15:19:58

      Bonjour,

      vous pouvez regarder ici pour vous aider: http://openclassrooms.com/forum/sujet/foire-aux-questions-langage-c-98714?page=3#message-6530768.

      Votre fichier doit-être dans le même dossier que vos sources (main.c, etc...), pour que votre programme puisse le lire.

      -
      Edité par memathiluc 11 avril 2015 à 15:20:23

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        11 avril 2015 à 15:27:54

        Merci de votre réponse !

        Si je place le fichier dans le même dossier que le main.c, Code::Blocks peut effectivement ouvrir le fichier. Par contre, c'est le .exe (situé dans le dossier "Debug", lui même dans le dossier "bin" (automatiquement placé là par Code::Blocks)) qui ne parvient pas à l'ouvrir. Dois-je placer le .exe dans le même dossier que les sources ?

        • Partager sur Facebook
        • Partager sur Twitter
          11 avril 2015 à 15:32:56

          Tant que vous n'avez pas fini de développer votre programme vous pouvez mettre le fichier dans le même dossier que main.c est lancer votre programme depuis codeblocks, puis une fois que votre programme seras terminer, vous pourrez mettre le fichier dans le même dossier que le programme et lancé directement le programme.

          PS: ne pas oublier de fermer le fichier ouvert avec fopen par un appel à fclose.

          fclose(Fichier);


          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            11 avril 2015 à 15:37:49

            Très bien, merci de votre aide !
            • Partager sur Facebook
            • Partager sur Twitter
              11 avril 2015 à 15:41:00

              Tu peux changer le working directory si tu veux: Project -> Properties -> Build targets -> [name of target] -> Execution working dir
              • Partager sur Facebook
              • Partager sur Twitter
                9 juillet 2019 à 16:44:40

                Excellente réponse Dichotoman. Merci beaucoup.
                Cela évite d'avoir un changement entre le mode Test "depuis Code::Block" et mode "Lancement de l'exec".

                Output filename : J'ai modifié ce paramètres afin que le fichier exe soit au même niveau que les fichiers sources.

                -
                Edité par Juanito de Dironne 9 juillet 2019 à 16:45:52

                • Partager sur Facebook
                • Partager sur Twitter

                Heureux les fêlés car ils laissent passer la lumière...

                Problème ouverture fichier sous Code::Blocks

                × 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