|
Boost Users : |
Subject: Re: [Boost-users] [serialization] appending to an archive
From: Pfligersdorffer, Christian (Christian.Pfligersdorffer_at_[hidden])
Date: 2009-05-25 05:01:20
Hello Hurcan,
an archive writes a preamble when it's created and possibly an end-tag
when destroyed (xml). Your options are: either keep the archive (on the
heap) instead of creating/destroying it, or organize your stream into
multiple archives. We did it the latter way and it works fine.
I wonder why you would need boost serialization at all if all you do is
appending a string to a file. There are simpler ways to do that :-)
Good luck,
-- Christian Pfligersdorffer Software Engineering http://www.eos.info Hurcan wrote: > I am trying to append one or more records to the existing > archive file, using something like this; > > void Logger::save(const std::string& fileName) { > assert(fileName != "logger.dmp"); > bp::time_duration endRecordTime = getCurrentTime(); > > ofs.flush(); > path dst = complete(path(fileName, native)); > path src = complete(path("logger.dmp", native)); remove(dst); > copy_file(src, dst); > > > ofstream saveFile(dst,std::ios::app); > ArchiveType archive(saveFile,boost::archive::no_header); > *mArchive << endRecordTime > } > > although i specify no_header flag, it inserts a '0' as a > preamble, how can i turn it off? have you guys ever needed to > use serialization like this? what was your solution > > Thanks in advance > Hurcan
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net