Probleme d'execution d'un programme en C
Fermé
melanie
-
26 nov. 2009 à 19:50
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 27 nov. 2009 à 00:21
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 27 nov. 2009 à 00:21
A voir également:
- Probleme d'execution d'un programme en C
- Programme demarrage windows 10 - Guide
- Mettre en veille un programme - Guide
- Desinstaller un programme - Guide
- Forcer la fermeture d'un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
3 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
26 nov. 2009 à 23:44
26 nov. 2009 à 23:44
Salut,
J'ai pas tout regardé, mais j'ai déjà vu une erreur :
dans la fonction main :
mets int tab tout simplement au lieu int *tab;
Cdlt
J'ai pas tout regardé, mais j'ai déjà vu une erreur :
dans la fonction main :
mets int tab tout simplement au lieu int *tab;
Cdlt
topcoder
Messages postés
81
Date d'inscription
mercredi 25 novembre 2009
Statut
Membre
Dernière intervention
14 décembre 2012
10
26 nov. 2009 à 23:57
26 nov. 2009 à 23:57
Voici ma proposition :
#include<stdio.h>
#include<stdlib.h>
int ecrire (char *nom,int *tab,int taille){
int i;
FILE *f=fopen(nom,"w");
fprintf(f,"%d\n",taille);
for(i=0;i<taille;i++){
fprintf(f,"%d\n",tab[i]);
}
fclose(f);
return 0;
}
int main(){
int tab[3]={7,9,9};
ecrire("uuuuu.txt",tab,5);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
int ecrire (char *nom,int *tab,int taille){
int i;
FILE *f=fopen(nom,"w");
fprintf(f,"%d\n",taille);
for(i=0;i<taille;i++){
fprintf(f,"%d\n",tab[i]);
}
fclose(f);
return 0;
}
int main(){
int tab[3]={7,9,9};
ecrire("uuuuu.txt",tab,5);
return 0;
}
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
661
27 nov. 2009 à 00:21
27 nov. 2009 à 00:21
ceci pourrait aider au débuggage :
FILE *f=fopen(nom,"w");
il faudrait vérifier que le pointeur n'est pas NULL avant d'écrire dans ce fichier !
De plus, en parlant de vérification de pointeur NULL,
if(tab==NULL) return 0;
au lieu de quitter directement un petit message servirait à voir s'il y a eu un problème à cet endroit. (Idem pour le test que je viens de te conseiller de mettre)
d'autre part n'oublie pas de libérer la mémoire allouée avec malloc avec la commande free !
FILE *f=fopen(nom,"w");
il faudrait vérifier que le pointeur n'est pas NULL avant d'écrire dans ce fichier !
De plus, en parlant de vérification de pointeur NULL,
if(tab==NULL) return 0;
au lieu de quitter directement un petit message servirait à voir s'il y a eu un problème à cet endroit. (Idem pour le test que je viens de te conseiller de mettre)
d'autre part n'oublie pas de libérer la mémoire allouée avec malloc avec la commande free !