Je ne peut pas ouvrir de fichiers...

Résolu
tinkilechat Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
tinkilechat Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -
Salutations ! Afin de progresser dans la compréhension du corrigé de Dal de mon autre problème, je souhaiterais progresser dans le tutoriel du SiteDuZer0 dans le but d'acquérir les notions manquantes qui me sont nécessaires à cette compréhension.

Je souhaiterais tout simplement ouvrir un fichier grâce à la fonction fopen. Problème : avec moi, ça veut pas et code::blocks m'affiche ce message d'erreur :

Can't create output directory \\bin\Debug\


Voici mon code dans le main.c (je précise avoir bien pensé à créer derp.txt) :

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
FILE* fichier = NULL;
fichier = fopen("derp.txt", "w+");

if (fichier != NULL)
{
fputs ("dedededeeddedededdedded", fichier);
fclose (fichier);
}

return 0;
}
A voir également:

1 réponse

[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Salut tinkilechat,

Ton code marche bien chez moi, je l'ai testé sous Codeblocks sous Windows. Cela crée un fichier "derp.txt" s'il n'existe pas, ou s'il existe, cela en écrase le contenu (mode w+), et cela met "dedededeeddedededdedded" dedans. Si tu exécutes dans l'environnement Codeblocks, le fichier sera créé à la racine de ton répertoire de projet.

Le message "Can't create output directory \\bin\Debug\" ne semble pas concerner l'exécution du programme, mais sa compilation.

Il y a vraiment un double antislash ?

Pour produire l'exécutable, Codeblocks crée, à partir de la racine du projet, un répertoire "bin", puis un sous répertoire "debug" (pour la cible "debug"), dans lequel l'exécutable sera enregistré. Codeblocks semble se plaindre qu'il ne peut cas créer ce répertoire.

L'utilisateur sous lequel tu utilises Codeblocks dispose-t-il de permissions d'écriture (es-tu sous Windows ou Linux) ?

Sinon, peut-être as-tu fait une faute de frappe lors de la création du projet, en indiquant les répertoires à utiliser. Dans ce cas :

vas dans Project - Properties - Build targets - et dans "Build target" "Debug", rectifie "Output filename" de façon à ce que cela ressemble à "bin\Debug\monprojet.exe" (pas de slash, ni d'antislash avant bin)

Vérifie aussi en cliquant dans le même fenêtre sur "Build target" "Release", que tu as une indication cohérente à "Output filename".

Ou alors, recrée un projet de zéro, et copie-colle ton code dedans.

Sous Windows "\\bin\Debug\" signifie : un répertoire "Debug" sur un partage réseau dont le nom est "bin".


Dal
1
tinkilechat Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Merci encore Dal : problème résolut !
0