[发明专利]一种基于量子测控系统软件读取任意数据的文件实现方法有效
申请号: | 201911015204.1 | 申请日: | 2019-10-24 |
公开(公告)号: | CN110780818B | 公开(公告)日: | 2023-05-30 |
发明(设计)人: | 李文龙;于晓艳;于治楼 | 申请(专利权)人: | 山东浪潮科学研究院有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F9/50;G06F11/07 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250100 山东省济*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 量子 测控 系统软件 读取 任意 数据 文件 实现 方法 | ||
本发明涉及计算机系统领域,具体提供了一种基于量子测控系统软件读取任意数据的文件实现方法。与现有技术相比,本发明的基于量子测控系统软件读取任意数据的文件实现方法,该方法将读取文件数据转换成所需数据结构和类型的功能封装在一个函数中,实现调用该函数时传入三个参数,这三个参数为文件路径字符串首地址、指针数组元素指向的地址、数组元素地址。该方法只需要知道需要读取文件所在路径即可实现将硬盘中软件运行时需要的channels波形数据准确无误的读取到内存中,即可供量子测控系统软件进程使用。在计算机系统领域具有良好的推广价值。
技术领域
本发明涉及计算机系统领域,具体提供一种基于量子测控系统软件读取任意数据的文件实现方法。
背景技术
量子测控系统设置输出channels时需要将包含波形数据的数组元素写入到板卡指定的寄存器中,这些波形数据文件存储在硬盘中。应用程序进程在运行时需要硬盘上的数据处理时要事先知道文件存储的数据的结构,需要先将数据读取到内存中,然后再按照需求将读入内存中的数据做处理后,进程才能使用这些数据,整个过程中处理数据的运行效率较低,如何解决现有技术中出现的这种问题,是本领域技术人员亟待解决的问题。
发明内容
本发明是针对上述现有技术的不足,提供一种设计合理、安全适用、实用性强的基于量子测控系统软件读取任意数据的文件实现方法。
本发明解决其技术问题所采用的技术方案是:
该方法将读取文件数据转换成所需数据结构和类型的功能封装在一个函数中实现,调用该函数需要传入文件路径字符串首地址、指针数组元素指向的地址、数组元素地址三个参数;
利用二级指针和一级指针作为实参,在函数内部为所述指针申请内存,同时将申请内存存储的数据数量记录在一维数组中,由此将所需内存大小的决策权交给了具体调用所述函数读取文件包含的数据量。
进一步的,该函数根据所传入文件路径打开文件,若此过程中出现错误做错误处理并返回;
将文件数据按照字符型数据存入容器内,并获取容器内数据个数,按照数据个数分配指定数据类型所需内存,如果分配内存失败作错误处理并返回;
将在函数内部申请的堆内存首地址记录在指针数组元素所指向的指针中,将数组包含数据的数量记录在数组元素地址所指向的内存中,将容器内数据做处理后存入所申请的内存中,该函数正确执行完成返回存储量子测控系统进程所需数据的虚拟内存首地址、以及连续内存块的大小。
作为优选,所述函数的形式为int API_Load_wavData(std::string const,double*[],int[]),并在需要的位置调用该函数并传入正确的实参,后两个参数本质上指二级指针和一级指针,根据实际项目需要传入的是指针数组元素所指向的地址和一维数组元素地址。
进一步的,所述函数首先根据传入的文件路径参数,执行以只读方式打开文件操作,完成读取文件内容并关闭文件;
若所述路径文件不存在则执行错误处理代码。
进一步的,判断传入实参指令的文件名称和路径是否有效,如果有效执行打开操作,否则执行C++错误处理机制:throw std::runtime_error(“ERR”)。
进一步的,执行打开操作时,以只读方式打开指定路径和文件名的文件夹,按行读取文件数据,对读字符串数据做简单处理去掉与数据无关的字符,按照规则将字符串拆分为短/段字符串,将拆分好的短字符存入容器中,获取容器内存入的字符串个数,计算存储数据所需内存并分配内存;
分配内存失败时,做错误处理,关闭已打开的文件描述符,并执行C++错误处理机制:throw std::runtime_error(“ERR”)。
进一步的,调用该函数时应当捕捉函数抛出的错误,并对捕捉到的错误进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮科学研究院有限公司,未经山东浪潮科学研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911015204.1/2.html,转载请声明来源钻瓜专利网。