2015-10-14 10 views
0

Я использую Microsoft Visual Studio 2008 (HDF5 v1.8.12), и у меня есть проблемы с каждой функцией H5std_string в качестве аргумента.Проблемы с stdstring и hdf5


Это даже случай, когда я запускаю файл примера "create.cpp" https://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/c++/examples/create.cpp

Это дает мне ошибку: .... \ H5F.c линия 1466 в H5Fcreate() : имя файла недействителен ошибка фиксируется, когда я заменяю FILE_NAME с FILE_NAME.c_str() и DATASET_NAME с DATASET_NAME.c_str()


, подобным образом я получаю сообщение об ошибке при запуске:

H5::Attribute attr = group.openAttribute("type"); 
H5std_string attr_content; 
attr.read(attr.getStrType(), attr_content); 

однако следующий код работает

char buf[1024]; 
H5::Attribute attr = group.openAttribute("type"); 
attr.read(attr_date.getStrType(), buf); 
+0

Я думаю, что вы должны назвать 'getDataType()' вместо 'getStrType()' – user1

+0

с помощью getDataType() не помогает. Проблема связана с использованием stdstring. Функции, использующие 'char *', работают нормально, однако я получаю сообщение об ошибке, когда я использую соответствующую функцию, принимающую 'H5std_string' в качестве аргумента. – user2306172

+2

Похож на этот ответ: http://stackoverflow.com/questions/32072272/using-stdstring-in-hdf5-creates-unreadable-output –

ответ