I try to read the contents of an Attribute. I use C++ and the HDF5 API. My script looks like this:
#include <iostream>
#include <string>
#ifndef H5_NO_NAMESPACE
#ifndef H5_NO_STD
using std::cout;
using std::endl;
#endif // H5_NO_STD
#endif
#include "H5Cpp.h"
#ifndef H5_NO_NAMESPACE
using namespace H5;
#endif
const H5std_string FILE_NAME ("file.h5");
const H5std_string GROUP_NAME_what ("here/where");
int main (void)
{
H5File file( FILE_NAME, H5F_ACC_RDONLY );
/*
* open Group and Attribute
*/
Group what= file.openGroup( GROUP_NAME_what );
Attribute attr = what.openAttribute("lat");
H5std_string test;
DataType type = attr.getDataType();
attr.read(type,test);
cout << test << endl;
return 0;
}
what should be written in test
is:
ATTRIBUTE "lat" {
DATATYPE H5T_IEEE_F64LE
DATASPACE SCALAR
DATA {
(0): 48.3515
}
}
but what I get is:
lÐÞþ,H@
Can someone tell my what I made wrong?
Tanks a lot!!