c++ 读取不了hdf5文件中的字符串
问题描述:
在拿到一个hdf5文件,想用c++去读取文件中的字符串,但是会报错:read failed
ps: c++读取hdf5的字符串方法见:https://support.hdfgroup.org/ftp/HDF5/examples/misc-examples/stratt.cpp
具体错误信息如下:
HDF5-DIAG: Error detected in HDF5 (1.8.16) thread 140492203562816:
#000: ../../../src/H5Dio.c line 173 in H5Dread(): can't read data
major: Dataset
minor: Read failed
#001: ../../../src/H5Dio.c line 425 in H5D__read(): unable to set up type info
major: Dataset
minor: Unable to initialize object
#002: ../../../src/H5Dio.c line 958 in H5D__typeinfo_init(): unable to convert between src and dest datatype
major: Dataset
minor: Feature is unsupported
#003: ../../../src/H5T.c line 4548 in H5T_path_find(): no appropriate function for conversion path
major: Datatype
minor: Unable to initialize object
terminate called after throwing an instance of 'H5::DataSetIException'
这很有可能是因为这个hdf5文件不是用c++创建的,而是用python中的h5py库创建的,h5py库创建的hdf5文件,对于字符串会有编码方式的一些问题,当然python的隐式类型的特征,输出可以直接赋值给未指定类型的变量,这种特性使得,python下创建的hdf5文件,可以在python下使用。然而用在其他语言上时,字符串的问题就突出出来了。
所以针对上面的字符串读取不了的问题,我的解决方法是,用c++去重新创建和读取。
具体操作方式,我的思路就是,可以先把python创建的hdf5文件中的字符串用python读出来,然后写到txt文件里,然后c++读取再创建。
当然,我认为平时就不要用python中的h5py库去创建了,直接用c++创建就可以了,毕竟c++创建的python可以用,python创建的c++用不了。。。
如果你知道怎么用c++去读取python下创建的hdf5文件中的字符串,希望你能留个言。我尝试了很多方法,都没成功,所以上面的方法只是一种很无奈的方法,但是可以解决这个问题。
c++ 读取不了hdf5文件中的字符串的更多相关文章
- 新手C#s.Split(),s.Substring(,)以及读取txt文件中的字符串的学习2018.08.05
s.split()用于字符串分割,具有多种重载方法,可以通过指定字符或字符串分割原字符串成为字符串数组. //s.Split()用于分割字符串为字符串数组,StringSplitOptions.Rem ...
- 利用PushbackReader读取文件中某个字符串之前的内容
package File; import java.io.FileReader; import java.io.IOException; import java.io.PushbackReader; ...
- Objective-C 【从文件中读写字符串(直接读写/通过NSURL读写)】
———————————————————————————————————————————从文件中读写字符串(直接读写/通过NSURL读写) #import <Foundation/Foundati ...
- Java基础知识强化之IO流笔记52:IO流练习之 把一个文件中的字符串排序后再写入另一个文件案例
1. 把一个文件中的字符串排序后再写入另一个文件 已知s.txt文件中有这样的一个字符串:"hcexfgijkamdnoqrzstuvwybpl" 请编写程序读取数据内容,把数据排 ...
- 使用 awk 过滤文本或文件中的字符串
当我们在 Unix/Linux 下使用特定的命令从字符串或文件中读取或编辑文本时,我们经常需要过滤输出以得到感兴趣的部分.这时正则表达式就派上用场了. 什么是正则表达式? 正则表达式可以定义为代表若干 ...
- linux命令统计文件中某个字符串出现的次数
1.使用grep linux grep命令在我的随笔linux分类里有过简单的介绍,这里就只简单的介绍下使用grep命令统计某个文件这某个字符串出现的次数,首先介绍grep命令的几个参数,详细参数请自 ...
- 在文件夹中 的指定类型文件中 查找字符串(CodeBlocks+GCC编译,控制台程序,仅能在Windows上运行)
说明: 程序使用 io.h 中的 _findfirst 和 _findnext 函数遍历文件夹,故而程序只能在 Windows 下使用. 程序遍历当前文件夹,对其中的文件夹执行递归遍历.同时检查遍历到 ...
- 使用C#程序处理PowerPoint文件中的字符串
最近, 有同事偶然发现Microsoft Office PowerPoint可以被看作是一个压缩包,然后通过WinRAR解压出来一组XML文件.解压出来的文件包括: 一个索引文件名称为:[Conte ...
- Linux命令行批量替换多文件中的字符串【转】
Linux命令行批量替换多文件中的字符串[转自百度文库] 一种是Mahuinan法,一种是Sumly法,一种是30T法分别如下: 一.Mahuinan法: 用sed命令可以批量替换多个文件中的字符串. ...
随机推荐
- postgresql分析函数
参考:https://blog.csdn.net/haohaizijhz/article/details/83340814 SELECT uid, odate, num, sum(num) over ...
- vue请求网络图片403错误,图片有占位但是显示不出来解决办法
在index.html 增加一个meta标签 <meta name="referrer" content="no-referrer" />
- 一丶HTML介绍
import socket def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(('local ...
- Bootstrap-datepicker3官方文档中文翻译---Methods/方法(原文链接 http://bootstrap-datepicker.readthedocs.io/en/latest/index.html)
Methods/方法 方法是由 datepicker 函数调用的,第一个参数为字符串,随后是方法所需的任何参数. $('.datepicker').datepicker('method', arg1, ...
- Cannot resolve class or package 'mysql’
一:当使用Spring Boot 2.0 整合MySQL的时候配置可能会出现这个故障 目前开始选用新的名称:com.mysql.cj.jdbc.Driver 二:其次,爆红产生错误分析 其实这个问题是 ...
- CSS 屏幕大小自适应
要想实现css屏幕大小自适应,首先得引入 CSS3 @media 媒体查询器: media的使用和规则: ①被链接文档将显示在什么设备上. ②用于为不同的媒介类型规定不同的样式. 语法: @medi ...
- STM32的定时器定时时间计算(计数时间和中断定时时间)
时基单元 可编程高级控制定时器的主要部分是一个16位计数器和与其相关的自动装载寄存器.这个计数器可以向上计数.向下计数或者向上向下双向计数.此计数器时钟由预分频器分频得到. 计数器.自动装载寄存器和预 ...
- Mybatis自定义分布式二级缓存实现与遇到的一些问题解决方案!
先说两句: 我们都知道Mybatis缓存分两类: 一级缓存(同一个Session会话内) & 二级缓存(基于HashMap实现的以 namespace为范围的缓存) 今天呢, 我们不谈一级缓存 ...
- Java1.0-1.12各个版本的新特性
JDK Version 1.0 1996-01-23 Oak(橡树) 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较差,运行速度慢. JDK Version 1.1 1997- ...
- C语言第01次作业--顺序、分支结构
1.本章学习总结 1.1 思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 本周我学到了很多C语言中基础的结构和语法(见思维导图),能对一些生活中的简单问题对应编写程序解决一些这些简单 ...