Chemin relatif

Résolu/Fermé
matmat42 Messages postés 124 Date d'inscription mercredi 15 février 2012 Statut Membre Dernière intervention 27 mars 2016 - Modifié par matmat42 le 19/07/2013 à 19:32
matmat42 Messages postés 124 Date d'inscription mercredi 15 février 2012 Statut Membre Dernière intervention 27 mars 2016 - 19 juil. 2013 à 20:11
Bonjour à tous

J'ai un soucis avec mon programme lorsqu'il s'agit d'écrire dans un fichier.
Voici un code (que j'ai copier/collé du Site du Zéro) :
#include <stdio.h>
#include <stdlib.h>

int main()
{
   FILE* fichier = NULL;
    char caractereActuel = 0;

    fichier = fopen("test.txt", "r");

    if (fichier != NULL)
    {
        // Boucle de lecture des caractères un à un
        do
        {
            caractereActuel = fgetc(fichier); // On lit le caractère
            printf("%c", caractereActuel); // On l'affiche
        } while (caractereActuel != EOF); // On continue tant que fgetc n'a pas retourné EOF (fin de fichier)

        fclose(fichier);
    }
    system("PAUSE");
    return 0;
}

Quand je place 'test.txt' (qui contient par exemple "Hello") dans le dossier de mon projet et que je compile puis exécute avec Code:Blocks, ça m'affiche "Hello" mais quand j'exécute le .exe sans Code:Blocks ça n'affiche rien. J'ai essayé de placé le fichier 'test.txt' à peu près tout les endroits possibles de mon projets mais rien n'y fait. Quelqu'un aurait une idée ?

Merci de vos réponse :)

edit : avec le chemin absolu du fichier ça marche parfaitement mais ça m'embête de l'utiliser car ce n'est pas forcément compatible avec d'autres OS
Celui qui pose une question est bête cinq minute, celui qui n'en pose pas l'est toute sa vie.
A voir également:

1 réponse

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
19 juil. 2013 à 19:38
Salut matmat42,

Quand tu exécutes ton code depuis Codeblocks, le répertoire courant par défaut dans l'environnement d'exécution est la racine du projet.

Quand tu exécutes ton code depuis l'exécutable, le répertoire courant par défaut est le répertoire où se trouve l'exécutable.


Dal
0
matmat42 Messages postés 124 Date d'inscription mercredi 15 février 2012 Statut Membre Dernière intervention 27 mars 2016 40
19 juil. 2013 à 20:11
En effet, je mets le fichier test.txt dans le même dossier que mon exécutable et ça fonctionne. Merci pour ta réponse Dal:)
0