Réservation de mémoire pour un fichier en C
Résolu/Fermé
youscoul
Messages postés
125
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
7 janvier 2013
-
2 avril 2010 à 17:22
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 6 avril 2010 à 21:15
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 6 avril 2010 à 21:15
A voir également:
- Réservation de mémoire pour un fichier en C
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
2 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
2 avril 2010 à 17:48
2 avril 2010 à 17:48
Bonjour,
Lorsque tu créé un fichier, c'est pour écrire dedans.
La taille de ton fichier dépends donc de son contenu, mais aucunement d'une gestion d'allocation de "taille/mémoire" sur le disque dur.
On ne peut pas réserver - du moins je crois - à l'avance un certain espace pour un fichier.
Lorsque tu créé un fichier, c'est pour écrire dedans.
La taille de ton fichier dépends donc de son contenu, mais aucunement d'une gestion d'allocation de "taille/mémoire" sur le disque dur.
On ne peut pas réserver - du moins je crois - à l'avance un certain espace pour un fichier.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
2 avril 2010 à 22:08
2 avril 2010 à 22:08
Comment veux-tu écrire à la position 1000 de ton fichier s'il n'y a rien d'écrit dedans ?
Tu pourras mettre une variable à la position 1000 lorsque ton fichier contiendra 999 enregistrements au minimum (ce sera alors le dernier élément).
En parallèle avec la réalité, c'est comme si tu voulais finir 10ème à une course où tu es tout seul.
Si tu veux plus de précisions, n'hésite pas.
Cdlt,
Tu pourras mettre une variable à la position 1000 lorsque ton fichier contiendra 999 enregistrements au minimum (ce sera alors le dernier élément).
En parallèle avec la réalité, c'est comme si tu voulais finir 10ème à une course où tu es tout seul.
Si tu veux plus de précisions, n'hésite pas.
Cdlt,
youscoul
Messages postés
125
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
7 janvier 2013
4
3 avril 2010 à 16:59
3 avril 2010 à 16:59
J'etais de même avis que vous avant que je ne fasse ce code:
file=fopen("file.txt", "w");
fseek(file, 10000, SEEK_SET);
putc('A', file);
===========>>>>>RESULTAT<<<<=================
sur mon disque la taille du fichier est de 10Ko, etonnant non ???
et quand je l'ouvre, tou est vierge sauf à la position 10000 où je vois bien mon CHAR A.
C'est pourquoi j'ai voulu ouvert cette discussion pour qu'on puisse en parler. Peut fonction du compilateur ou ???? à bientôt et merci à vous
file=fopen("file.txt", "w");
fseek(file, 10000, SEEK_SET);
putc('A', file);
===========>>>>>RESULTAT<<<<=================
sur mon disque la taille du fichier est de 10Ko, etonnant non ???
et quand je l'ouvre, tou est vierge sauf à la position 10000 où je vois bien mon CHAR A.
C'est pourquoi j'ai voulu ouvert cette discussion pour qu'on puisse en parler. Peut fonction du compilateur ou ???? à bientôt et merci à vous
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
6 avril 2010 à 12:00
6 avril 2010 à 12:00
Pas étonnant non.
C'est parce que cette fonction te permet de remplir automatiquement ton fichier de vide si tu tente d'aller à un taille au délà de ce que "pèse" déjà ton fichier.
Si c'est cela que tu souhaitais faire, ma fois oui, c'est faisable. C'est juste que comme tu l'expliquais, normalement ce n'est pas faisable. Après, si tu souhaite remplir de vide ton fichier, pas de problème.
C'est parce que cette fonction te permet de remplir automatiquement ton fichier de vide si tu tente d'aller à un taille au délà de ce que "pèse" déjà ton fichier.
Si c'est cela que tu souhaitais faire, ma fois oui, c'est faisable. C'est juste que comme tu l'expliquais, normalement ce n'est pas faisable. Après, si tu souhaite remplir de vide ton fichier, pas de problème.
youscoul
Messages postés
125
Date d'inscription
dimanche 10 août 2008
Statut
Membre
Dernière intervention
7 janvier 2013
4
6 avril 2010 à 12:19
6 avril 2010 à 12:19
Effectivement c'est ce que je souhaitais faire. Je saute et après avoir la possibilité de remplir les espaces vides de mon fichier. ça y ait je suis parvenu. Merci beaucoup pour vos réponses.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
6 avril 2010 à 21:15
6 avril 2010 à 21:15
Pour kij_82
C'est parce que cette fonction te permet de remplir automatiquement ton fichier de vide si tu tente d'aller à un taille au délà de ce que "pèse" déjà ton fichier.
Non, cette fonction ne permet pas celà. Si cela arrive de le voir, il s'agit d'un d'un comportement non standard.
Pour le remplir, il faut le faire manuellement avec les fonctions d'écriture.
C'est parce que cette fonction te permet de remplir automatiquement ton fichier de vide si tu tente d'aller à un taille au délà de ce que "pèse" déjà ton fichier.
Non, cette fonction ne permet pas celà. Si cela arrive de le voir, il s'agit d'un d'un comportement non standard.
Pour le remplir, il faut le faire manuellement avec les fonctions d'écriture.
2 avril 2010 à 18:16