Chemin relatif

Résolu
matmat42 Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   -  
matmat42 Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   -
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 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
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   Statut Membre Dernière intervention   40
 
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