Erreur d'ouverture de fichier en C

[Résolu/Fermé]
Signaler
Messages postés
764
Date d'inscription
mercredi 11 février 2009
Statut
Membre
Dernière intervention
19 janvier 2011
-
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
-
Bonjour à tous !

je débute en C et j'apprends ce langage grâce au tutoriel du site du Zéro.
je suis arrivé au chapitre sur l'écriture dans un fichier et la ... j'ai un gros problème !
impossible d'ouvrir un fichier ! le code suivant m'affiche toujours le message d'erreur !
je ne pense pourtant pas avoir fait d'erreur !

voila le code :
#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE* fichier = NULL;
    fichier = fopen("test.txt", "r+");
    if (fichier != NULL)
    {
        fputc('A', fichier); // Ecriture du caractère A
        fclose(fichier); // On ferme le fichier qui a été ouvert
    }
    else
    {
        printf("erreur d'ouverture .... \n");
    }

    return 0;
}


pour info, je suis sous ubuntu 10.04 et j'utilise Code::Blocks .
merci a tous !


1 réponse

Messages postés
3245
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
650
salut,

ton fichier existe déjà ?

si oui c'est peut-être un problème de dossier.

essaye avec "w+" au lieu de "r+" pour voir, ceci devrait créer un nouveau fihcier quoiqu'il arrive.
Messages postés
764
Date d'inscription
mercredi 11 février 2009
Statut
Membre
Dernière intervention
19 janvier 2011
96
le fichier n'existai pas encore, mais après avoir passer le mode d'ouverture en w+, sa fonctionne et le repasser en r+ marche cette fois ... j'en conclut que pour passer en r+, le fichier doit etre créé ... m'enfin, merci beaucoup , je vais étudié ce cas, en tout cas le sujet est résolu.
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 786
A strato-boy,

Effectivement, comme le dit le manuel, w+ créée le fichier s'il n'existe pas contrraiement à r+.

Cdlt,