HDF5 C++: чтение строки в составном наборе данных
Привет всем в настоящее время я работаю над тем, как читать HDF compound dataset. Мой вопрос заключается в том, как я могу получить имя составных членов набора данных, я пытался получить, но он дал мне пустое имя. Однако, когда я пытаюсь получить имя членов в Linux, я получаю его, но в windows MVS 2010 я не могу. Любая помощь будет оценена по достоинству.
Что я уже пробовал:
H5T_class_t cTT = dataSet.getTypeClass(); if( cTT == H5T_COMPOUND ) { H5::CompType dc = dataSet.getCompType(); for( int i = 0; i < dc.getNmembers(); i++ ) { H5std_string memberName = dc.getMemberName( i ); //memberName is = NULL; in windows //memberName is = ok; in linux } }
Jochen Arndt
Что вы подразумеваете под "memberName is = NULL; in windows"?
Я не знаю HDF, но быстрое исследование показывает, что H5std_string кажется строкой std::. Это не может быть NULL (но пустая строка).
Для доступа к строке используйте memberName.c_str() и при необходимости преобразуйте кодировку (вероятно, это UTF-8, который затем должен быть преобразован перед печатью с помощью сборок Windows).