Manipulation de fichiers en c
Fermé
renaudh
Messages postés
138
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
2 septembre 2016
-
15 mai 2005 à 21:05
BBSOLAR - 7 oct. 2008 à 22:14
BBSOLAR - 7 oct. 2008 à 22:14
A voir également:
- Manipulation de fichiers en c
- Renommer plusieurs fichiers en même temps - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Explorateur de fichiers - Guide
- Fichiers bin - Guide
- Fichiers epub - Guide
12 réponses
j'ai un probleme comment creer un fichier(les fichiers en c) et fait une adresse pour l'ouvrir en une page excel pour afficher un tableau et les indices de ce tableau sont des indices du programme et merci
<et fait une adresse pour l'ouvrir en une> ????
<les indices de ce tableau sont des indices du programme> ????
Je ne comprend pas bien la différence entre indice et adresse
sous excell on peut exporter une feuille en format texte et choisir son formatage abscisse ordonnées avec des caractères de ponctuation comme ; , .
Il y a un problème grammatical dans la formulation de la question ci-dessus qui empêche de comprendre son sens.
Je sais bien que la méthode globale a fait des dégâts, mais ça ne coute rien de relire ce que l on a écrit.
<les indices de ce tableau sont des indices du programme> ????
Je ne comprend pas bien la différence entre indice et adresse
sous excell on peut exporter une feuille en format texte et choisir son formatage abscisse ordonnées avec des caractères de ponctuation comme ; , .
Il y a un problème grammatical dans la formulation de la question ci-dessus qui empêche de comprendre son sens.
Je sais bien que la méthode globale a fait des dégâts, mais ça ne coute rien de relire ce que l on a écrit.
j'ai un probleme!!!!comment travailler avec la librairie time.h.... j'ai un travail de trie(rapide,insertion et selection)en c avec les llc et de musuré le temps qui s'écoule dans le trie ...je demande pour m'aider pour travailler avec time.h des exemples de code sourses sur le time.h avec une explication......et une explication sur le travail de trie rapide avec un dessin svp........
blurk
Messages postés
486
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
15 mars 2009
160
16 mai 2005 à 15:16
16 mai 2005 à 15:16
la plupart du temps, apprendre à programmer est une démarche personnelle.
mais la plupart des environements de programmation est documentée par mot clés, et comme il arrive qu'on ne connaisse pas le nom de ce que l on cherche, voici quelques tuyaux:
pour l'ouverture et la ferme ture de fichiers voir :
pour le chargement et la sauvegarde de variables sous forme de structure voir :
cordialement
mais la plupart des environements de programmation est documentée par mot clés, et comme il arrive qu'on ne connaisse pas le nom de ce que l on cherche, voici quelques tuyaux:
pour l'ouverture et la ferme ture de fichiers voir :
fopen; fclose
pour le chargement et la sauvegarde de variables sous forme de structure voir :
fread; fwrite
cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
renaudh
Messages postés
138
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
2 septembre 2016
3
18 mai 2005 à 12:14
18 mai 2005 à 12:14
Je dois passer une structure à fwrite, j'ai écrit cette fonction:
Pas d'erreurs, le programme se lance, je fais une partie mais le programme se ferme dès que la partie est gagnée, que dois-je corriger?
void ajoutfichier (void) { FILE *file=fopen("E:\Puissance 4\Puissance 4\top10.txt","w"); if (file == NULL) { fprintf(stderr,"Erreur dans l'ouverture du fichier"); exit(-1); } fwrite(top,sizeof(top10),20,file); fclose(file); }
Pas d'erreurs, le programme se lance, je fais une partie mais le programme se ferme dès que la partie est gagnée, que dois-je corriger?
renaudh
Messages postés
138
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
2 septembre 2016
3
18 mai 2005 à 14:05
18 mai 2005 à 14:05
On me dit de déclarer fopen, voilà à quoi j'arrive:
Ca donne plein d'erreurs et j'ai vraiment du mal à comprendre le fonctionnement de chaque fonction.
void ajoutfichier (void) { FILE * fopen(const char *top10, char *mode); int fclose(FILE *flot); FILE *fichtop10; char *mem = (char *)malloc(SIZE); int length; fichtop10=fopen("top10.txt","w"); if (fichtop10 == NULL) { fprintf(stderr,"Erreur dans l'ouverture du fichier"); exit(-1); } size_t fwrite(void *top, size_t 55, size_t 10, FILE *fichtop10); fwrite(mem,20,length,top); fclose(fichtop10); }
Ca donne plein d'erreurs et j'ai vraiment du mal à comprendre le fonctionnement de chaque fonction.
blurk
Messages postés
486
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
15 mars 2009
160
18 mai 2005 à 14:14
18 mai 2005 à 14:14
bonjour
si le fichier ne peut pas etre modifié
(cdrom, réseau en lecture seule ou autre)
ou bien que le chemin est incorrect,
alors file a pour valeur NULL
et la commande
a priori je ne peux pas en dire plus
sinon, voilà une petite modif
un truc important aussi dans fopen , "w" remplace le fichier
existant, alors que "a" permet de rajouter au fichier sans rien effacer
mais ça dépend de ce que tu veux faire.
bon courage
A+
si le fichier ne peut pas etre modifié
(cdrom, réseau en lecture seule ou autre)
ou bien que le chemin est incorrect,
alors file a pour valeur NULL
et la commande
exit (-1)fait quitter le programme
a priori je ne peux pas en dire plus
sinon, voilà une petite modif
void ajoutfichier (void) { FILE *file=fopen("E:\Puissance 4\Puissance 4\top10.txt","w"); if (file == NULL) { fprintf(stderr,"Erreur dans l'ouverture du fichier"); } else /* seulement si le fichier est ouvert*/ { /* taille de la structure top, 1 element */ fwrite(top,sizeof(top),1,file); fclose(file); } }
un truc important aussi dans fopen , "w" remplace le fichier
existant, alors que "a" permet de rajouter au fichier sans rien effacer
mais ça dépend de ce que tu veux faire.
bon courage
A+
renaudh
Messages postés
138
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
2 septembre 2016
3
18 mai 2005 à 15:48
18 mai 2005 à 15:48
Je viens de modifier et j'obtiens:
Pour plus de facilités, il remplacera à chaque fois le fichier et il lui repasse à chaque appel de la fonction tout le vecteur déclarée depuis une structure.
Après exécution du programme et avoir gagner une partie, le fichier est toujours vide donc il n'écrit pas dedans.
void ajoutfichier (void) { FILE *fichtop10; fichtop10=fopen("top10.txt","w"); if (fichtop10 == NULL) { fprintf(stderr,"Erreur dans l'ouverture du fichier"); exit(-1); } else fwrite(top,sizeof(top10),T,fichtop10); fclose(fichtop10); }
Pour plus de facilités, il remplacera à chaque fois le fichier et il lui repasse à chaque appel de la fonction tout le vecteur déclarée depuis une structure.
Après exécution du programme et avoir gagner une partie, le fichier est toujours vide donc il n'écrit pas dedans.
renaudh
Messages postés
138
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
2 septembre 2016
3
18 mai 2005 à 15:55
18 mai 2005 à 15:55
J'ai supprimé le exit(-1) mais ça ne change rien.
Comme ceci:
void ajoutfichier (void)
{
FILE *fichtop10;
fichtop10=fopen("top10.txt","w");
if (fichtop10 == NULL)
fprintf(stderr,"Erreur dans l'ouverture du fichier");
else
fwrite(top,sizeof(top10),T,fichtop10);
fclose(fichtop10);
}
Comme ceci:
void ajoutfichier (void)
{
FILE *fichtop10;
fichtop10=fopen("top10.txt","w");
if (fichtop10 == NULL)
fprintf(stderr,"Erreur dans l'ouverture du fichier");
else
fwrite(top,sizeof(top10),T,fichtop10);
fclose(fichtop10);
}
blurk
Messages postés
486
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
15 mars 2009
160
18 mai 2005 à 17:26
18 mai 2005 à 17:26
dans ce cas, si (fichtop10 == NULL)
tu fermes un fichier qui n'a pas été ouvert , d'où plantage
d'autre part on ne voit nulle part la déclaration de T et top10
si ces variables sont des globales, alors la fonction ajoutfichier(void)
n'est pas exportable et n'a que peu d'utilité
tu fermes un fichier qui n'a pas été ouvert , d'où plantage
d'autre part on ne voit nulle part la déclaration de T et top10
si ces variables sont des globales, alors la fonction ajoutfichier(void)
n'est pas exportable et n'a que peu d'utilité
sam3000
Messages postés
1225
Date d'inscription
mercredi 22 décembre 2004
Statut
Membre
Dernière intervention
13 juin 2005
144
18 mai 2005 à 16:06
18 mai 2005 à 16:06
est ca que le message "Erreur dans l'ouverture du fichier" s'affiche???
renaudh
Messages postés
138
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
2 septembre 2016
3
19 mai 2005 à 08:36
19 mai 2005 à 08:36
Non rien ne s'affiche. Le programme se lance et tout va parfaitement mais le fichier texte avec le top10 ne se crée pas.
La fonction d'écriture est:
Fonction de lecture:
La structure est déclarée en globale car je l'utilise dans beaucoup de fonctions:
Le T est défini est défini en globale car utilisé plusieurs fois aussi:
La fonction d'écriture est:
void ajoutfichier (void) { FILE *fichtop10; fichtop10=fopen("top10.txt","w"); if (fichtop10 == NULL) fprintf(stderr,"Erreur dans l'ouverture du fichier"); else { fwrite(top,sizeof(top10),T,fichtop10); fclose(fichtop10); } }
Fonction de lecture:
void affichetop10 (void) { FILE *fichtop10; fichtop10=fopen("top10.txt","r"); if (fichtop10 == NULL) fprintf(stderr,"Erreur dans l'ouverture du fichier"); else { fwrite(top,sizeof(top10),T,fichtop10); fclose(fichtop10); } }
La structure est déclarée en globale car je l'utilise dans beaucoup de fonctions:
struct top10 { char top10nom[M]; int top10tent; };struct top10 top[T];
Le T est défini est défini en globale car utilisé plusieurs fois aussi:
#define T 10
renaudh
Messages postés
138
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
2 septembre 2016
3
19 mai 2005 à 15:35
19 mai 2005 à 15:35
Dsl pour la ptite erreur mais g bien mis un fread au lieu d'un fwrite dans la fonction "affichetop10" sinon, ya un gros problème à l'école vu que quand je l'exécute à l'école, il crée pas le fichier et chez moi, il le crée.
Le vecteur "top10nom" passe bien mais pas celui pour les tentatives, j'obtiens cela dans mon fichier:
Et quand je veux afficher le top10, il ne m'affiche rien.
Le vecteur "top10nom" passe bien mais pas celui pour les tentatives, j'obtiens cela dans mon fichier:
reno ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ
Et quand je veux afficher le top10, il ne m'affiche rien.