Maintenant, il faut que je puisse sauvegarder ce contenu dans un fichier
à accès séquentiel. Et là je bloque. Comment faire?
Maintenant, il faut que je puisse sauvegarder ce contenu dans un fichier
à accès séquentiel. Et là je bloque. Comment faire?
Maintenant, il faut que je puisse sauvegarder ce contenu dans un fichier
à accès séquentiel. Et là je bloque. Comment faire?
Pour les besoins de mon projet, j'aurais besoin de sauvegarder dans une
structure du binaire (de l'ordre de 512 octets). Pour cela, ce forum m'a
conseillé d'utiliser le bitset.
Sauvegarder quelle genre de données binaires?
Maintenant, il faut que je puisse sauvegarder ce contenu dans un fichier à
accès séquentiel. Et là je bloque. Comment faire?
Tu devrais donner une description plus globale des besoins de ton
Pour les besoins de mon projet, j'aurais besoin de sauvegarder dans une
structure du binaire (de l'ordre de 512 octets). Pour cela, ce forum m'a
conseillé d'utiliser le bitset.
Sauvegarder quelle genre de données binaires?
Maintenant, il faut que je puisse sauvegarder ce contenu dans un fichier à
accès séquentiel. Et là je bloque. Comment faire?
Tu devrais donner une description plus globale des besoins de ton
Pour les besoins de mon projet, j'aurais besoin de sauvegarder dans une
structure du binaire (de l'ordre de 512 octets). Pour cela, ce forum m'a
conseillé d'utiliser le bitset.
Sauvegarder quelle genre de données binaires?
Maintenant, il faut que je puisse sauvegarder ce contenu dans un fichier à
accès séquentiel. Et là je bloque. Comment faire?
Tu devrais donner une description plus globale des besoins de ton
Bonjour,
Pour les besoins de mon projet, j'aurais besoin de sauvegarder dans une
structure du binaire (de l'ordre de 512 octets). Pour cela, ce forum m'a
conseillé d'utiliser le bitset.
Maintenant, il faut que je puisse sauvegarder ce contenu dans un fichier
à accès séquentiel. Et là je bloque. Comment faire?
Votre problème est un peu flou, en particulier sur le sens exact de
Bonjour,
Pour les besoins de mon projet, j'aurais besoin de sauvegarder dans une
structure du binaire (de l'ordre de 512 octets). Pour cela, ce forum m'a
conseillé d'utiliser le bitset.
Maintenant, il faut que je puisse sauvegarder ce contenu dans un fichier
à accès séquentiel. Et là je bloque. Comment faire?
Votre problème est un peu flou, en particulier sur le sens exact de
Bonjour,
Pour les besoins de mon projet, j'aurais besoin de sauvegarder dans une
structure du binaire (de l'ordre de 512 octets). Pour cela, ce forum m'a
conseillé d'utiliser le bitset.
Maintenant, il faut que je puisse sauvegarder ce contenu dans un fichier
à accès séquentiel. Et là je bloque. Comment faire?
Votre problème est un peu flou, en particulier sur le sens exact de
Bonjour,
Pour les besoins de mon projet, j'aurais besoin de sauvegarder dans une
structure du binaire (de l'ordre de 512 octets). Pour cela, ce forum m'a
conseillé d'utiliser le bitset.
Maintenant, il faut que je puisse sauvegarder ce contenu dans un fichier
à accès séquentiel. Et là je bloque. Comment faire?
Bonjour,
Pour les besoins de mon projet, j'aurais besoin de sauvegarder dans une
structure du binaire (de l'ordre de 512 octets). Pour cela, ce forum m'a
conseillé d'utiliser le bitset.
Maintenant, il faut que je puisse sauvegarder ce contenu dans un fichier
à accès séquentiel. Et là je bloque. Comment faire?
Bonjour,
Pour les besoins de mon projet, j'aurais besoin de sauvegarder dans une
structure du binaire (de l'ordre de 512 octets). Pour cela, ce forum m'a
conseillé d'utiliser le bitset.
Maintenant, il faut que je puisse sauvegarder ce contenu dans un fichier
à accès séquentiel. Et là je bloque. Comment faire?
Pascal wrote:Bonjour,
Pour les besoins de mon projet, j'aurais besoin de sauvegarder dans une
structure du binaire (de l'ordre de 512 octets). Pour cela, ce forum m'a
conseillé d'utiliser le bitset.
Maintenant, il faut que je puisse sauvegarder ce contenu dans un fichier
à accès séquentiel. Et là je bloque. Comment faire?
Bon apparament ça manque de précision. Mais c'est assez complexe. C'est un
projet de SGBD. Le fichier binaire contient la base. Ce fichier peut donc
théoriquement avoir une taille gigantesque (plusieurs giga). Il me faut
donc un accès séquentiel pour modif une donnée. Parce que si pour modifier
2 bits, je dois recopier le fichier, je risque d'avoir une très mauvaise
note...
...
Donc pour mon projet, j'ai besoin de pouvoir stocker sous forme binaire
mes données, et aussi pouvoir stocker en mémoire vive le contenu d'une
page, d'où le bitset non?
Pascal wrote:
Bonjour,
Pour les besoins de mon projet, j'aurais besoin de sauvegarder dans une
structure du binaire (de l'ordre de 512 octets). Pour cela, ce forum m'a
conseillé d'utiliser le bitset.
Maintenant, il faut que je puisse sauvegarder ce contenu dans un fichier
à accès séquentiel. Et là je bloque. Comment faire?
Bon apparament ça manque de précision. Mais c'est assez complexe. C'est un
projet de SGBD. Le fichier binaire contient la base. Ce fichier peut donc
théoriquement avoir une taille gigantesque (plusieurs giga). Il me faut
donc un accès séquentiel pour modif une donnée. Parce que si pour modifier
2 bits, je dois recopier le fichier, je risque d'avoir une très mauvaise
note...
...
Donc pour mon projet, j'ai besoin de pouvoir stocker sous forme binaire
mes données, et aussi pouvoir stocker en mémoire vive le contenu d'une
page, d'où le bitset non?
Pascal wrote:Bonjour,
Pour les besoins de mon projet, j'aurais besoin de sauvegarder dans une
structure du binaire (de l'ordre de 512 octets). Pour cela, ce forum m'a
conseillé d'utiliser le bitset.
Maintenant, il faut que je puisse sauvegarder ce contenu dans un fichier
à accès séquentiel. Et là je bloque. Comment faire?
Bon apparament ça manque de précision. Mais c'est assez complexe. C'est un
projet de SGBD. Le fichier binaire contient la base. Ce fichier peut donc
théoriquement avoir une taille gigantesque (plusieurs giga). Il me faut
donc un accès séquentiel pour modif une donnée. Parce que si pour modifier
2 bits, je dois recopier le fichier, je risque d'avoir une très mauvaise
note...
...
Donc pour mon projet, j'ai besoin de pouvoir stocker sous forme binaire
mes données, et aussi pouvoir stocker en mémoire vive le contenu d'une
page, d'où le bitset non?
Sur la base d'un tableau d'unsigned char (8-bit), toutes les
extractions/modifications/écritures de champs de taille quelquonque
peuvent être implémentées au besoin.
Une bonne pratique serait peut-être de remplacer l'unsigned char par un
Sur la base d'un tableau d'unsigned char (8-bit), toutes les
extractions/modifications/écritures de champs de taille quelquonque
peuvent être implémentées au besoin.
Une bonne pratique serait peut-être de remplacer l'unsigned char par un
Sur la base d'un tableau d'unsigned char (8-bit), toutes les
extractions/modifications/écritures de champs de taille quelquonque
peuvent être implémentées au besoin.
Une bonne pratique serait peut-être de remplacer l'unsigned char par un
Un tableau de unsigned char (ou vector<unsigned char>) est la manière
typique de traiter des données brutes (binaires) en C++.
Pour les entrées/sorties, les fonctions de la librairie héritée du C
( fopen, fwrite, etc ) sont probablement celle qu'il faudrait utiliser.
Un tableau de unsigned char (ou vector<unsigned char>) est la manière
typique de traiter des données brutes (binaires) en C++.
Pour les entrées/sorties, les fonctions de la librairie héritée du C
( fopen, fwrite, etc ) sont probablement celle qu'il faudrait utiliser.
Un tableau de unsigned char (ou vector<unsigned char>) est la manière
typique de traiter des données brutes (binaires) en C++.
Pour les entrées/sorties, les fonctions de la librairie héritée du C
( fopen, fwrite, etc ) sont probablement celle qu'il faudrait utiliser.
On Sat, 12 Feb 2005 13:21:26 +0100, Ivan Vecerina wrote:Un tableau de unsigned char (ou vector<unsigned char>) est la manière
typique de traiter des données brutes (binaires) en C++.
Pour les entrées/sorties, les fonctions de la librairie héritée du C
( fopen, fwrite, etc ) sont probablement celle qu'il faudrait utiliser.
Est ce que les fonctions write et read de la classe ofstream sont
correctes?
[NB: c'est fstream (sans 'o') pour faire write *et read*]
On m'a dit qu'on ne pouvait pas écrire bit à bit dans un fichier. Qu'il
fallait travailler octet par octet (et donc faire des mask pour travailler
bit à bit). Est ce bien vrai?
De plus, j'ai trouvé une page qui parle
d'écriture en binaire :
http://forum.hardware.fr/hardwarefr/Programmation/Ecriture-Lecture-de-fichier-binaire-ios-binary-avec-et--sujet-57868-1.htm
Et donc toutes les fonctions que je me suis fatigué à faire depuis 1heure
sont déjà implémenté...
Pour autant que tous tes champs soient constitués par un nombre
On Sat, 12 Feb 2005 13:21:26 +0100, Ivan Vecerina wrote:
Un tableau de unsigned char (ou vector<unsigned char>) est la manière
typique de traiter des données brutes (binaires) en C++.
Pour les entrées/sorties, les fonctions de la librairie héritée du C
( fopen, fwrite, etc ) sont probablement celle qu'il faudrait utiliser.
Est ce que les fonctions write et read de la classe ofstream sont
correctes?
[NB: c'est fstream (sans 'o') pour faire write *et read*]
On m'a dit qu'on ne pouvait pas écrire bit à bit dans un fichier. Qu'il
fallait travailler octet par octet (et donc faire des mask pour travailler
bit à bit). Est ce bien vrai?
De plus, j'ai trouvé une page qui parle
d'écriture en binaire :
http://forum.hardware.fr/hardwarefr/Programmation/Ecriture-Lecture-de-fichier-binaire-ios-binary-avec-et--sujet-57868-1.htm
Et donc toutes les fonctions que je me suis fatigué à faire depuis 1heure
sont déjà implémenté...
Pour autant que tous tes champs soient constitués par un nombre
On Sat, 12 Feb 2005 13:21:26 +0100, Ivan Vecerina wrote:Un tableau de unsigned char (ou vector<unsigned char>) est la manière
typique de traiter des données brutes (binaires) en C++.
Pour les entrées/sorties, les fonctions de la librairie héritée du C
( fopen, fwrite, etc ) sont probablement celle qu'il faudrait utiliser.
Est ce que les fonctions write et read de la classe ofstream sont
correctes?
[NB: c'est fstream (sans 'o') pour faire write *et read*]
On m'a dit qu'on ne pouvait pas écrire bit à bit dans un fichier. Qu'il
fallait travailler octet par octet (et donc faire des mask pour travailler
bit à bit). Est ce bien vrai?
De plus, j'ai trouvé une page qui parle
d'écriture en binaire :
http://forum.hardware.fr/hardwarefr/Programmation/Ecriture-Lecture-de-fichier-binaire-ios-binary-avec-et--sujet-57868-1.htm
Et donc toutes les fonctions que je me suis fatigué à faire depuis 1heure
sont déjà implémenté...
Pour autant que tous tes champs soient constitués par un nombre
"Pascal" wrote in message
news:420dc551$0$8221$
Pascal wrote:
Pour les besoins de mon projet, j'aurais besoin de
sauvegarder dans une structure du binaire (de l'ordre de 512
octets). Pour cela, ce forum m'a conseillé d'utiliser le
bitset.
Maintenant, il faut que je puisse sauvegarder ce contenu dans
un fichier à accès séquentiel. Et là je bloque. Comment
faire?
Bon apparament ça manque de précision. Mais c'est assez
complexe. C'est un projet de SGBD. Le fichier binaire contient
la base. Ce fichier peut donc théoriquement avoir une taille
gigantesque (plusieurs giga). Il me faut donc un accès
séquentiel pour modif une donnée. Parce que si pour modifier 2
bits, je dois recopier le fichier, je risque d'avoir une très
mauvaise note...
...
Donc pour mon projet, j'ai besoin de pouvoir stocker sous
forme binaire mes données, et aussi pouvoir stocker en mémoire
vive le contenu d'une page, d'où le bitset non?
Non, probablement pas.
Un tableau de unsigned char (ou vector<unsigned char>) est la
manière typique de traiter des données brutes (binaires) en
C++. Pour les entrées/sorties, les fonctions de la librairie
héritée du C ( fopen, fwrite, etc ) sont probablement celle
qu'il faudrait utiliser.
Pour un projet académique en C++, je ne pense pas qu'il faille
aller chercher plus loin (memory-mapping et caches, mots 32 ou
64 bits, ...).
Sur la base d'un tableau d'unsigned char (8-bit), toutes les
extractions/modifications/écritures de champs de taille
quelquonque peuvent être implémentées au besoin.
"Pascal" <pascal@spam.org> wrote in message
news:420dc551$0$8221$636a15ce@news.free.fr...
Pascal wrote:
Pour les besoins de mon projet, j'aurais besoin de
sauvegarder dans une structure du binaire (de l'ordre de 512
octets). Pour cela, ce forum m'a conseillé d'utiliser le
bitset.
Maintenant, il faut que je puisse sauvegarder ce contenu dans
un fichier à accès séquentiel. Et là je bloque. Comment
faire?
Bon apparament ça manque de précision. Mais c'est assez
complexe. C'est un projet de SGBD. Le fichier binaire contient
la base. Ce fichier peut donc théoriquement avoir une taille
gigantesque (plusieurs giga). Il me faut donc un accès
séquentiel pour modif une donnée. Parce que si pour modifier 2
bits, je dois recopier le fichier, je risque d'avoir une très
mauvaise note...
...
Donc pour mon projet, j'ai besoin de pouvoir stocker sous
forme binaire mes données, et aussi pouvoir stocker en mémoire
vive le contenu d'une page, d'où le bitset non?
Non, probablement pas.
Un tableau de unsigned char (ou vector<unsigned char>) est la
manière typique de traiter des données brutes (binaires) en
C++. Pour les entrées/sorties, les fonctions de la librairie
héritée du C ( fopen, fwrite, etc ) sont probablement celle
qu'il faudrait utiliser.
Pour un projet académique en C++, je ne pense pas qu'il faille
aller chercher plus loin (memory-mapping et caches, mots 32 ou
64 bits, ...).
Sur la base d'un tableau d'unsigned char (8-bit), toutes les
extractions/modifications/écritures de champs de taille
quelquonque peuvent être implémentées au besoin.
"Pascal" wrote in message
news:420dc551$0$8221$
Pascal wrote:
Pour les besoins de mon projet, j'aurais besoin de
sauvegarder dans une structure du binaire (de l'ordre de 512
octets). Pour cela, ce forum m'a conseillé d'utiliser le
bitset.
Maintenant, il faut que je puisse sauvegarder ce contenu dans
un fichier à accès séquentiel. Et là je bloque. Comment
faire?
Bon apparament ça manque de précision. Mais c'est assez
complexe. C'est un projet de SGBD. Le fichier binaire contient
la base. Ce fichier peut donc théoriquement avoir une taille
gigantesque (plusieurs giga). Il me faut donc un accès
séquentiel pour modif une donnée. Parce que si pour modifier 2
bits, je dois recopier le fichier, je risque d'avoir une très
mauvaise note...
...
Donc pour mon projet, j'ai besoin de pouvoir stocker sous
forme binaire mes données, et aussi pouvoir stocker en mémoire
vive le contenu d'une page, d'où le bitset non?
Non, probablement pas.
Un tableau de unsigned char (ou vector<unsigned char>) est la
manière typique de traiter des données brutes (binaires) en
C++. Pour les entrées/sorties, les fonctions de la librairie
héritée du C ( fopen, fwrite, etc ) sont probablement celle
qu'il faudrait utiliser.
Pour un projet académique en C++, je ne pense pas qu'il faille
aller chercher plus loin (memory-mapping et caches, mots 32 ou
64 bits, ...).
Sur la base d'un tableau d'unsigned char (8-bit), toutes les
extractions/modifications/écritures de champs de taille
quelquonque peuvent être implémentées au besoin.
"Pascal" wrote in message
news:
Au niveau du disque dur, les e/s se font en fait même par page
ou secteur, du genre 4k à la fois. Donc si tu écris 1 octet,
le système va typiquement lire le secteur original, y modifier
l'octet, puis écrire le secteur modifié. (Pareil pour 512
octets).
C'est pourquoi les applications optimisées vont utiliser des
pages de données qui correspondent à la taille des secteurs
disque (typiquement 4k).
C'est pourquoi il est très raisonnable de lire ou écrire toute
une page à la fois, et de faire le reste directement en
mémoire.
"Pascal" <teapa5@B022-05.fr> wrote in message
news:pan.2005.02.12.15.58.53.681222@B022-05.fr...
Au niveau du disque dur, les e/s se font en fait même par page
ou secteur, du genre 4k à la fois. Donc si tu écris 1 octet,
le système va typiquement lire le secteur original, y modifier
l'octet, puis écrire le secteur modifié. (Pareil pour 512
octets).
C'est pourquoi les applications optimisées vont utiliser des
pages de données qui correspondent à la taille des secteurs
disque (typiquement 4k).
C'est pourquoi il est très raisonnable de lire ou écrire toute
une page à la fois, et de faire le reste directement en
mémoire.
"Pascal" wrote in message
news:
Au niveau du disque dur, les e/s se font en fait même par page
ou secteur, du genre 4k à la fois. Donc si tu écris 1 octet,
le système va typiquement lire le secteur original, y modifier
l'octet, puis écrire le secteur modifié. (Pareil pour 512
octets).
C'est pourquoi les applications optimisées vont utiliser des
pages de données qui correspondent à la taille des secteurs
disque (typiquement 4k).
C'est pourquoi il est très raisonnable de lire ou écrire toute
une page à la fois, et de faire le reste directement en
mémoire.