Hello List,
Could someone please give me a working example of how to use this please. I am obviously doing something wrong as depending on how much I write to the std::ofstream I either end up with a proper file or a file containing a single byte!
I would really appreciate your assistance with this as it's driving me to distraction.
Here is the approach I am taking.
std::ofstream os ;
os.open(m_FileName.c_str(), std::ios_base::out | std::ios_base::binary | std::ios_base::app) ;
try
{
if (os.is_open())
{
os.setf(std::ios::fixed, std::ios::floatfield) ;
os.precision(3) ;
if (fileLock.timed_lock(pt += pt::seconds(5)))
{
try
{
for (int o = 0; o < 48; o++)
{
os << "Write my data here....." ;
for (int i = 0; i < 51)
{
os << i ; // But if I output this simple line and I get a 1 byte file and NO errors or exceptions!
}
}
fileLock.unlock() ;
}
catch (std::ofstream::failure e)
{
qDebug() << e.what() ;
}
}
else
{
qDebug() << "No lock on file!" ;
}
}
else
{
qDebug() << "File not opened!" ;
}
}
catch (ip::interprocess_exception& e)
{
qDebug() << e.what() ;
}
catch (std::exception& e)
{
qDebug() << e.what() ;
}
os.close();
--
Bill