Je n'arrive pas à ouvrir mon fichier teste.txt pour écrire dedans ou pour lire: le code
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE* fichier = NULL;
fichier = fopen("teste.txt", "w");
printf("%p",fichier);
if (fichier != NULL)
{
fputc('A', fichier); // Écriture du caractère A
fclose(fichier);
}
return 0;
}
Mon fichier est bien à l'emplacement du .exe et j'ai lu toute les aides des forums je n'arrive pas à résoudre mon problème mon pointeur est toujours nul.
Quand je télécharge un autre code d'exemple de tp, codeblock ouvre bien le fichier mais quand c'est moi qui écris le programme impossible, donc l'erreur vient de moi mais je ne sais pas d'où.
Si quelqu'un à une solution. Voici une capture écran avec toute les infos pouvant être importante : https://zupimages.net/viewer.php?id=21/35/5wbf.png
Bonjour ! Chez moi, qui utilise la ligne de commande, ça marche : j'obtiens bien un fichier "teste.txt" avec un 'A' dedans, et la ligne 9 a affiché la valeur du pointeur.
J'en déduis que ce n'est pas un problème du programme, plutôt de Code::Blocks. Des réglages manquants ?
Merci à vous deux pour votre aide, je viens de voir le problème après avoir laisser le code en repos je relance quelque heure plus tard et mon anti-virus m'avertis seulement après que j'ai galéré toute l’après midi qu'il interdit l'ouverture du fichier ... sacrés perte de temps. Enfin bref, vérifiez votre anti-virus si vous avez un problème similaire à l'avenir (j'ai avast).
J'ai également eu des problèmes semblables avec Avast sur Windows 10. Il empêchait certaines tâches de démarrer. Microsoft Defender me semble suffisant. J'allais te suggérer perror() comme le mentionne edgarjacobs. Tu dois faire un #include <errno.h> au début. Ensuite: char *name = "test.txt"; // Mettre le nom du fichier dans une variable. FILE *file = fopen(name, "w"); if(file == NULL) { perror("nom_du_programme"); // Je met le nom de la fonction qui appelle fopen. printf("Can't open file '%s'\n", name); exit(1); // Requière #include <stdlib.h> }
Le Tout est souvent plus grand que la somme de ses parties.
Problème lecture de fichier
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Le Tout est souvent plus grand que la somme de ses parties.