是否可以通过管道传输 HDF5 格式的数据?
Is it possible to pipe HDF5 formated data?
是否可以将 HDF5 写入标准输出并从标准输入读取(通过 H5::File file("/dev/stdout",H5F_ACC_RDONLY)
或其他方式)?
我想要的是有一个程序 foo
写入 HDF5 文件(假设是它的第一个参数)和另一个程序 bar
从 HDF5 文件读取然后而不是
command_prompt> foo temp.h5
command_prompt> bar temp.h5
command_prompt> rm temp.h5
简单说
command_prompt> foo - | bar -
其中程序 foo
和 bar
将特殊文件名 -
理解为分别表示 stdout
和 stdin
。为了编写这些程序,我想知道 1) 这是否完全可行以及 2) 我如何实现它,即分别传递给 H5Fcreate()
和 H5Fopen()
的内容,以防文件名= -
.
我试过了,但似乎不可能(不足为奇)。 HDF5只有H5Fcreate()
、H5Fopen()
、H5Freopen()
,好像都不支持I/O到stdin/stdout
。
我认为您不能将 stdin
用作 hdf5 输入文件。图书馆需要在 header 内容和数据之间寻找,而您不能使用 stdin
.
是否可以将 HDF5 写入标准输出并从标准输入读取(通过 H5::File file("/dev/stdout",H5F_ACC_RDONLY)
或其他方式)?
我想要的是有一个程序 foo
写入 HDF5 文件(假设是它的第一个参数)和另一个程序 bar
从 HDF5 文件读取然后而不是
command_prompt> foo temp.h5
command_prompt> bar temp.h5
command_prompt> rm temp.h5
简单说
command_prompt> foo - | bar -
其中程序 foo
和 bar
将特殊文件名 -
理解为分别表示 stdout
和 stdin
。为了编写这些程序,我想知道 1) 这是否完全可行以及 2) 我如何实现它,即分别传递给 H5Fcreate()
和 H5Fopen()
的内容,以防文件名= -
.
我试过了,但似乎不可能(不足为奇)。 HDF5只有H5Fcreate()
、H5Fopen()
、H5Freopen()
,好像都不支持I/O到stdin/stdout
。
我认为您不能将 stdin
用作 hdf5 输入文件。图书馆需要在 header 内容和数据之间寻找,而您不能使用 stdin
.