2015-02-07 1 views
0

중요한 통계 정보를 제거하기 위해 엄청난 수의 파일을 분석합니다. 분석 프로그램은 분석 된 모든 파일에 대해 길이 n (약 100)의 약 3000 개의 double-array와 해당 배열의 내용을 나타내는 문자열을 만듭니다. 결과를 hdf 5 파일에 쓰고 싶습니다. 각 파일은 각 문자열이 해당 문자열 인 테이블에 기록됩니다.hdf5 여러 개의 확장 가능 테이블

#include "hdf5.h" 
#include "hdf5_hl.h" 
hid_t  file_id; 
hsize_t  dims[RANK]={1,n}; 
herr_t  status; 

....

void hdf5_write (double& array , string arrayname) 
{  
const char * tablename = arrayname.c_str(); 
status = H5LTmake_dataset(file_id,tablename,RANK,dims,H5T_NATIVE_DOUBLE,array); 
} 

이 잇달아 여러 파일을 분석 할 때, 그러나, 첫 번째 파일을 분석 잘 작동 기존의 테이블이 단순히 덮어 쓰기 : 그것을 위해 나는 다음과 같은 기능을 사용 새 배열은 기존 배열에 각각 새 배열을 추가하기를 원합니다. 이 경우 hdf 5 기능이 있습니까?

답변

0

하이 레벨 (H5LT) 인터페이스를 사용하여 추가 할 수 없습니다.

여기는 complete example using the low level interface입니다. 그것은 훨씬 더 복잡하지만 당신에게 완전한 통제권을줍니다.

또는 이것이 과도하다고 생각하는 경우 하나의 큰 데이터 세트와 여러 개의 작은 데이터 세트가 필요한지 스스로에게 물어볼 수 있습니다. 마음에 드는 응용 프로그램에 따라 여러 데이터 세트가 더 나은 디자인 일 수 있습니다.