Probleme langage c, création de fichier
Résolu
reggaetonero
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
HACKER 712 Messages postés 1282 Date d'inscription Statut Contributeur Dernière intervention -
HACKER 712 Messages postés 1282 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je laisse un post sur ce site car je commence a apprendre le langage C mais je dois faire un programme permettant de créer un fichier dans un programme écrit en C. mais j'ai quelques soucis :s
Si quelqu'un avait la solution et qu'il pouvait m'aider ^^
Voici ce que j'ai écrit :s :
Voilà, merci de votre aide.
Je laisse un post sur ce site car je commence a apprendre le langage C mais je dois faire un programme permettant de créer un fichier dans un programme écrit en C. mais j'ai quelques soucis :s
Si quelqu'un avait la solution et qu'il pouvait m'aider ^^
Voici ce que j'ai écrit :s :
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { unsigned long fichier; sprintf(test.txt) FILE* fichier = NULL; fichier = fopen("test.txt", "w"); if (fichier != NULL) { fputs("salut \n ça va ?", fichier); fclose(fichier); } return 0; FILE* fichier = NULL; fichier = fopen("test.txt", "r+"); if (fichier != NULL) { } else { printf("Impossible d'ouvrir le fichier test.txt"); } system("PAUSE"); return 0; }
Voilà, merci de votre aide.
A voir également:
- Probleme langage c, création de fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
12 réponses
Salut,
Enlève le unsigned long fichier, le sprintf, le premier return 0; et n'oublie pas de fermer le fichier tout à la fin. De plus, enlève la deuxième déclaration de fichier.
Ca devrait mieux marcher ;)
Enlève le unsigned long fichier, le sprintf, le premier return 0; et n'oublie pas de fermer le fichier tout à la fin. De plus, enlève la deuxième déclaration de fichier.
Ca devrait mieux marcher ;)
salut !
quand tu mets des nombres a variables dans un fichier, il faut utiliser le fprintf au lieu de fputs car le fputs ne prends pas en compte les variables, ensuite il n'y a pas besoin de mettre le unsigned char fichier, il se crée tout seul avec le pointeur FILE sur fichier
quand tu mets des nombres a variables dans un fichier, il faut utiliser le fprintf au lieu de fputs car le fputs ne prends pas en compte les variables, ensuite il n'y a pas besoin de mettre le unsigned char fichier, il se crée tout seul avec le pointeur FILE sur fichier
et tu ne dois pas metrtre deux "fichier" identiques, l'autre appelles le fichier1 par ex.
et ne mets pas deux return 0 !
et ne mets pas deux return 0 !
Apres la modification, je ne peux toujours pas compilé car on m'indique une erreur dans le main. Et ces erreures :
Et voiçi mon nouveau code :
PS: Je suis pas très doué, je prefere le PHP :p
13 [Warning] passing arg 1 of `fprintf' from incompatible pointer type
13 [Warning] passing arg 2 of `fprintf' from incompatible pointer type
Et voiçi mon nouveau code :
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { FILE* fichier = NULL; fichier = fopen("test.txt", "w"); if (fichier != NULL) { fprintf("salut \n ça va ?", fichier); fclose(fichier); } FILE* fichier2 = NULL; fichier2 = fopen("test.txt", "r+"); if (fichier2 != NULL) { } else { printf("Impossible d'ouvrir le fichier test.txt"); } system("PAUSE"); return 0; }
PS: Je suis pas très doué, je prefere le PHP :p
Salut,
Pas besoin de fprintf dans ton cas. fputs suffira amplement. fprintf c'est si tu veux mettre des variables etc.
Et pas besoin de recréer une variable fichier2 comme il t'a été dit. Autant réutiliser l'autre.
Teste plutôt :
Pas besoin de fprintf dans ton cas. fputs suffira amplement. fprintf c'est si tu veux mettre des variables etc.
Et pas besoin de recréer une variable fichier2 comme il t'a été dit. Autant réutiliser l'autre.
Teste plutôt :
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { FILE* fichier = NULL; fichier = fopen("test.txt", "w"); if (fichier != NULL) { fputs("salut \n ça va ?", fichier); fclose(fichier); } fichier = fopen("test.txt", "r"); if (fichier != NULL) { //ici tu peux lire ton fichier fclose(fichier); } else { printf("Impossible d'ouvrir le fichier test.txt"); } system("PAUSE"); return 0; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci fiddy, ta solution fonctionne tres bien par contre lorsque je l'éxécute, il ne ouvre pas mon fichier. Comment faire ?
En faite ce que je voudrais c'est que le fichier s'ouvre avec un éditeur comme le bloc note ou notepad++ et non pas dans la console.
Et lancer un bat depuis le programme C, c'est possible ça. Ou il faut réalisez un programme distinct en .bat ???