Hi,
I'm trying to modify the first example in the c++ tutorial:
http://avro.apache.org/docs/1.8.1/api/cpp/html/index.html (note: docs for
c++,1.8.2 are not working for me)
I'm trying to write to a file. For this I modify the example from
std::auto_ptr<avro::OutputStream> *out = avro::memoryOutputStream();*
avro::EncoderPtr e = avro::binaryEncoder();
e->init(*out);
c::cpx c1;
c1.re = 1.0;
c1.im = 2.13;
avro::encode(*e, c1);
to
std::auto_ptr<avro::OutputStream> *outFile =
avro::fileOutputStream("filetest.db");*
avro::EncoderPtr e = avro::binaryEncoder();
e->init(*outFile);
c::cpx c1;
c1.re = 1.0;
c1.im = 2.13;
avro::encode(*e, c1);
* outFile->flush();*
I get a file "filetest.db" which I can then read using C++.
However, I cannot read the resulting file using python because the following
code fails:
from avro.datafile import DataFileReader
from avro.io import DatumReader
reader = DataFileReader(open("filetest.db", "rb"), DatumReader())
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8f in position 2:
invalid start byte
My guess is my C++ code is wrong, but I'm can't find any (recent)
documentation on what is the correct way of saving things to a file when
using C++.
Thanks,
s
--
View this message in context:
http://apache-avro.679487.n3.nabble.com/correct-way-of-saving-data-to-file-in-C-1-8-2-api-tp4037666.html
Sent from the Avro - Users mailing list archive at Nabble.com.