2016-09-06 15 views
-2

4つの属性を持つhdf5ファイルにデータセットがあります。 4 attributes with string typeデータセット内の属性の名前と値以上を取得する

各属性名とその値はどのように取得できますか?私は唯一、関数int H5Aget_num_attrs(hid_t loc_id)のウェブサイトの属性番号を要求する方法を知っている " function website"

しかし、私はどのように機能によって配列に属性名を必要とするのか分かりません。

アイデア? 最高の願い!

+2

この質問は理解できません。特定の質問をする必要があります:ファイルからいくつかの属性を読み込もうとしていますが、 'sscanf()'が失敗しています。他の人があなたを助けることができるようにコードを投稿してください。 –

答えて

1

EDIT:ああ、あなたは属性の名前が欲しいですか?

これはできません。

〜フィン〜


EDIT 2:一部の機能xyzzy(sometype_t)は一種類のみを渡すことができるので、これがある - したがって、あなたは属性が呼ばれているものを知っています。


私はあなたの問題点を見つけようとします。
英語が母国語でない場合は、気になることはありません。そうでない場合は、にしてください。とにかく

、属性を取得する

typedef struct { 
    int a, b, c, d; /* four attributes.*/ 
} foo_t; 

foo_t bar; 

:あなたはポインタを持っている場合は...

foo_t * baz = &bar /* baz is a pointer to bar. */ 

baz->a = 42; 
0

あなたは(4)の名前を取得することができ

bar.a = 1; 
bar.b = 2; 
bar.c = 3; 
bar.d = 4; 

を(HDFql - http://www.hdfql.comを使用してCで):

のようなデータセットに格納された属性と対応する値
char script[1024]; 

HDFQL_CURSOR my_cursor; // declare cursor named "my_cursor" 

hdfql_initialize(&my_cursor); // initialize cursor "my_cursor" 

hdfql_execute("USE FILE my_example.h5"); // use (i.e. open) HDF file named "my_example.h5" 

hdfql_execute("SHOW my_dataset/"); // retrieve all (4) attributes stored in dataset "my_dataset" 

while (hdfql_cursor_next(NULL) == HDFQL_SUCCESS) // loop through all attributes retrieved 
{ 
    sprintf(script, "SELECT FROM my_dataset/%s", hdfql_cursor_get_char(NULL)); // prepare script to select (i.e. read) the content of the attribute 

    hdfql_cursor_use(&my_cursor); 

    hdfql_execute(script); // execute script 

    hdfql_cursor_next(NULL); 

    hdfql_cursor_use_default(); 

    printf("Attribute '%s' contains '%s'\n", hdfql_cursor_get_char(NULL), hdfql_cursor_get_char(&my_cursor)); // print the attribute name and its value 
} 
関連する問題