cs_christophedlr
Messages postés267Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention23 août 2023
-
16 avril 2009 à 23:11
cs_christophedlr
Messages postés267Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention23 août 2023
-
18 avril 2009 à 11:59
Bonjour,
Je voudrais écrire dans un fichier binaire avec fstream.
Actuellement j'y arrive pour les données devant apparaitre en clair, mais la taille par exemple qui ne doit pas apparaitre en clair, ben j'arrive pas à ce que se soit pas en clair quoi.
Si cela peut aider, voici le code de ma classe :
#include <fstream>
#include "tst.h"
TSTFile::TSTFile()
{
m_stream = new fstream;
}
TSTFile::~TSTFile()
{
delete m_stream;
}
/*Ouvre l'archive en lecture ou écriture suivant ce qui est demandé*/
bool TSTFile::open(string fileName, bool Write)
{
if (Write)
{
m_stream->open(fileName.c_str(), ios::out | ios::ate | ios::binary);
m_stream->clear();
m_stream->write("TST", 3);
}
fregolo52
Messages postés1115Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 20214 17 avril 2009 à 08:14
Euh ... Que veux-tu faire ?
Avec :
sprintf(name, "%d", source.length());
m_stream->write(name, 4);
C'est clair que tes 4 premiers octets sont une string, donc la taille en clair.
Tu stockes la taille tu nom du fichier en premier, c'est ca que tu ne veux pas mettre en clair ?
Je connais mal les STL mais
int sourceLen = source.length();
m_stream->write((char *)&sourceLen, 4); ca ne marche pas ?
cs_christophedlr
Messages postés267Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention23 août 20234 17 avril 2009 à 10:28
J'ai essayé comme ça mais j'ai une erreur de segmentation c'est ça que je comprend pas.
Oui, je souhaite stocké mais pas en clair, la taille du nom du fichier, je veux faire pareil pour la taille du fichier.
Je souhaite en fait faire un jeu (MMORPG, vous moquez pas, j'ai la motivation et je prépare le terrain longtemp à l'avance), et donc avant de me lancer je souhaite apprendre plusieurs trucs don concevoir un format de fichier d'archive pour le jeu avec donc certaines infos qui ne sont pas en clair comme les tailles ;)