Je ne peut pas ouvrir de fichiers...

Résolu/Fermé
tinkilechat Messages postés 15 Date d'inscription mercredi 26 juin 2013 Statut Membre Dernière intervention 11 juillet 2013 - 5 juil. 2013 à 13:18
tinkilechat Messages postés 15 Date d'inscription mercredi 26 juin 2013 Statut Membre Dernière intervention 11 juillet 2013 - 5 juil. 2013 à 16:21
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 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié par [Dal] le 5/07/2013 à 13:58
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 mercredi 26 juin 2013 Statut Membre Dernière intervention 11 juillet 2013
Modifié par tinkilechat le 5/07/2013 à 16:23
Merci encore Dal : problème résolut !
0