PCIEZ之sth_util.h

本文介绍了一系列用于文件操作及数据转换的实用工具函数,包括文本与二进制数据的读写、路径验证、数据类型转换等功能,旨在简化日常开发中常见的文件管理和数据处理任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#ifndef STH_UTIL_H
#define STH_UTIL_H

#include <QString>
#include <QStringList>
#include <QtDebug>
#include <QFile>
#include <QTextStream>
#include <xmmintrin.h>   //SSE指令头文件
#include <Windows.h>
#include <qfiledialog.h>
#include <string> 

void BuildTable( const unsigned char* head, int length );
//保存文本到文件
bool SaveTextToFile(const QString& fileName , const QString& textContent);

//从文件读取文本
QString GetTextFromFile(const QString& filePath);

bool SaveBinDataToFile(const QString& fileName , void* data , int dataLen);

bool SaveBoardParameterToFile(QFile* file, void* data, int dataLen);

bool Str_To_Int(const QString& str , int& num);

QByteArray GetBinDataFromFile(const QString& fileName);

//QString 转换为 char*
void qstring_to_charbuf(const QString& src , char* buf);
//void QStringtoCharBuf(const QString& src , char* buf)

QStringList GetFileListFromDialog();
//从 dialog获取文件名
QString GetFileNameFromDialog(const QString& strFilter = "");


//从 dialog 获取多个文件名
QStringList GetFileNamesFromDialog(const QString& strFilter = "");


//从 dialog 获取 路径
QString GetDirectoryFromDialog();


//从 dialog 获取保存文件名
QString GetSaveNameFromDialog(const QString& nameFilter = "");

//验证路径是否合法
bool PathIsValid(QString path);

//消息提示
void MsgBox(const QString& str);

//帮助定义窗口移动
void InstallMainWidgetMoveHelper(QWidget* w);

//从QString获取数字
bool GetNumberFromQString(const QString& str , int& num , int base = 10);

//获取数字
std::string DataHex2string(void* data , int ByteLength , int showOffset = 10);

//获取数字
void  swap_short(unsigned short &data); //交换高字节、低字节顺序

//获取数字
void  swap_short(short &data); //交换高字节、低字节顺序

//获取数字
void swap_int( int& intVar );

//获取数字
void swap_int(unsigned int& intVar );

//获取数字
void swap_int_low2(unsigned int& intVar);//仅仅交换最后两个字节顺序

//获取数字
std::string int2string(int data);//数字转字符串

//获取图片
void GetImageFromData(QImage &img ,unsigned char* data , int width , int height);

void five2eight(void* pI,void* pO,unsigned int size);
void three2four(void* pI,void* pO,unsigned int size);

//制作raw图
void MakeRawPic4Test(const QString& fileName , int width , int height );

void SaveSomeFile(unsigned char* pData,int size,std::string dstFileName,int cnt);

int SearchHead2R(unsigned char* pData,int size,const unsigned char* fileHead,int headLength);

bool checkhead(unsigned char* bufIn,const unsigned char *compare/*基准头*/,int len/*基准头的长度,单位B,int wrong = 0 */);//bit菼忍度

int count(unsigned char n);

//获取磁盘容量信息
quint64 getDiskFreeSpace(QString dirver);
quint64 getDiskSpace(QString dirver);


//错4bit转换
void startShiftImpl(unsigned char*outBuf,unsigned char* dataBuf,const int& dataLength );
void startShiftImpl(unsigned char*outBuf,unsigned char* dataBuf,int& dataLength,int& index );

//把QString型DataType转换为Int型
int GetDataTypeNum(const QString& dataType);

//将QByteArray补足固定大小的数据
void ComplementDataToFixedSize(QByteArray & data, int size);

//
/*



int method_cvt ;

0 高八位
1 低八位
2 最大最小值量化
3 固定值量化

*/
// 
//void LoadRawPic4Test(const QString& fileName , int width , int height ,QImage& img ,int method_cvt = 0);
void LoadRawPic4Test(unsigned char* data, unsigned char* CharData, int width , int height ,QImage& img , bool is12bit,QString dataType,int method_cvt = 0);

/* filter = *.src */
QStringList GetUnderDirFiles(const QString& dirName , const QString& strFilter = "*.*");
QStringList GetDirFiles(const QString& dirName ,const QString& strFilter = "*.*");
#endif // STH_UTIL_H

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值