Réservation de mémoire pour un fichier en C
Résolu
youscoul
Messages postés
125
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
J'aimerai crée un fichier et lui réserve un espace mémoire sur mon disque dur. Si quelqu'un connait une astuce pour ces genres de choses? Merci d'avance
J'aimerai crée un fichier et lui réserve un espace mémoire sur mon disque dur. Si quelqu'un connait une astuce pour ces genres de choses? Merci d'avance
A voir également:
- Réservation de mémoire pour un fichier en C
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
2 réponses
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.
youscoul
Messages postés
125
Date d'inscription
Statut
Membre
Dernière intervention
4
merci pour cette réponse rapide. En effet, lorsque que je crée mon fichier, j'ecris à chaque fois 4 élements de type float. Mais le problème est que ces 4 elements peuvent êtres stockés par exemple à la position 1000 de mon fichier. Donc comment le système peut gerer ça ?, car on n'a rien ecrit d'abord dans mon fichier entre son debut........jusquà cette position. Merci
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,
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
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.
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.