Dans le livre que je suis en train de lire, il a commencé à parler des binaires et de la manière dont nous pouvons générer un fichier binaire de la même façon que nous pouvons exporter vers un fichier texte. J'ai donc commencé à lire plus et je voulais essayer; cependant, j'ai rencontré ce qui me semble être un problème simple, mais que je ne comprends pas correctement compte tenu de mon manque de compréhension en ce qui concerne les fichiers binaires. Donc, disons que j'ai créé une structure et une fonction. Comme le suivant.Problème de sortie dans un fichier binaire en C++
struct celebrities
{
char name[15];
char lastName[15];
};
void BinaryCreation(celebrities);
int main()
{
celebrities actors = { "Denzel", "Washington" };
BinaryCreation(actors);
system("pause");
}
Maintenant, je vais créer un fichier binaire:
void BinaryCreation(celebrities actors)
{
fstream file;
file.open("binaryfile.txt", ios::binary | ios::out);
Maintenant, dans le livre, il dit que je devrais écrire quelque chose comme ce qui suit pour le sortir en binaire:
file.write(address, size)
C'est là que ça devient confus de voir comment, si j'ai une structure, comment je fais ça? J'ai essayé ce qui suit:
file.write(&actors.name, sizeof(actors.name));
file.write(&name, sizeof(name));
Vous avez également essayé de réinterpréter la distribution. J'ai aussi fait ce qui suit
file.write(actors.name, sizeof(actors.name));
qui a travaillé dans le sens d'aucune erreur, mais il serait sortie de fichier sous forme de texte (ASCII).
Je suis sûr que c'est très simple, et je néglige quelque chose, mais pour l'instant je ne peux pas comprendre.
La modification du type de sortie en binaire ne change pas votre texte en un autre par magie. C'est toujours du texte, et sera toujours écrit comme les mêmes valeurs. La différence est que la sortie binaire peut contenir des caractères qui ne sont pas du texte (comme NULL, ou 0x01 ou 0x02). –
@KenWhite Je vois, c'est ce qui m'a ébranlé, je m'attendais à un tas de symboles, et à la place j'ai eu le même texte. Merci pour la contribution. – ReMaKe