读取文件

#include "read.h"total_region total;
A1_region A1;
A2_region A2;
A3_region A3;
A1_Small_area small_area;string outline_image_path;CString ini_path = "D://a.ini";//QString转为const wchar_t*
inline const WCHAR *QStoWCHAR(const QString& qs)
{return (const WCHAR *)qs.utf16();
}// TCHAR * 转为char *
char* TCHARToChar(TCHAR* pTchar)
{char* pChar = nullptr;int nLen = wcslen(pTchar) + 1;pChar = new char[nLen * 2];WideCharToMultiByte(CP_ACP, 0, pTchar, nLen, pChar, 2 * nLen, NULL, NULL);return pChar;
}//TCHAR 转换 string
string TCHAR2STRING(TCHAR * STR)
{int iLen = WideCharToMultiByte(CP_ACP, 0,STR, -1, NULL, 0, NULL, NULL);char* chRtn = new char[iLen * sizeof(char)];WideCharToMultiByte(CP_ACP, 0, STR, -1, chRtn, iLen, NULL, NULL);string str(chRtn);return str;}//读取整型ini数据
int getInt(CString lpKeyName, INT nDefault)
{int value = GetPrivateProfileInt(TEXT("Detection"), lpKeyName, nDefault, ini_path);return value;
}//读取浮点型ini数据
double getDouble(CString lpKeyName, CString nDefault)
{//读取字符型ini数据TCHAR value[20];GetPrivateProfileString(TEXT("Detection"), lpKeyName, nDefault, value, sizeof(value), ini_path);//转为double型return strtod(TCHARToChar(value), NULL);
}void read_ini()
{total.model_flag = getInt("model_flag", 0);total.filter_flag = getInt("model_flag", 0);total.Zoom_factor_x = getDouble("Zoom_factor_x", "1");;total.Zoom_factor_y = getDouble("Zoom_factor_y", "1");;TCHAR file_path[200];GetPrivateProfileString(TEXT("Detection"), CString("configuration_file_path "), CString(""), file_path, sizeof(file_path), ini_path);;//修改char[]的值strcpy_s(configuration_file_path, TCHARToChar(file_path));GetPrivateProfileString(TEXT("Detection"), CString("outline_image_path"), CString(""), file_path, sizeof(file_path), ini_path);//修改字符串outline_image_path = TCHAR2STRING(file_path);#ifdef DEBUGcout << configuration_file_path << " * " << outline_image_path << endl;#endif
}

参考链接:

1. TCHAR 转换 string

https://blog.csdn.net/wzy198852/article/details/19990567

2. TCHAR与CHAR互转

https://blog.csdn.net/pjf_1806339272/article/details/105967020

3. QString转换为LPCTSTR

https://xbuba.com/questions/51027141

注:二进制文件中不要保存string类型,读取的时候会出现都不完全

注意:.ini文件的格式必须是utf-8

QT 读ini配置文件相关推荐

  1. Qt 生成ini配置文件 保存和读取数据

    ui界面图 修改project1.2.3的数值,点击保存按钮 点击默认,project1,2,3恢复为默认参数 点击加载,选择刚才保存的ini文件,读取project1,2,3的参数 所保存的ini配 ...

  2. 【Y忍冬草】QT读写ini配置文件

    文章目录 1.ini文件格式 2. ini配置文件的读写.删除 3. 结果 4.源码下载  在我们进行软件系统开始时,对于一些参数我们需要进行配置,这时我们就会用ini类型的配置文件.其实我们在很多软 ...

  3. Qt写ini配置文件

    //Qt中使用QSettings类读写ini文件 //QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省 配置文件由节,键,值组成 [IP] 键 ...

  4. Android读ini配置文件

    介绍 ; initest [initest] key1=1 key2=2 1. ; initest  , 表示该行是注释,符号后面表示注释的内容 2. [initest] 像这种 [ ]里面的就是se ...

  5. Qt读取ini配置文件

    首先加入配置文件的绝对路径,然后在添加QSettings类,同时添加头文件#include,G1_fileName为所得到的值 QString iniFilePath = "/../conf ...

  6. go 程序包开发,读简单配置文件 v1

    go 程序包开发,读简单配置文件 v1 一.作业要求 https://pmlpml.gitee.io/service-computing/post/ex-pkg-ini/ 二.具体实现 watch函数 ...

  7. QT中如何读写ini配置文件

    本文首发于「3D视觉工坊」知识星球. 如图1所示,我们需要在QT界面中实现手动读取参数存放的位置,那么我们该如何做呢? 方法:读取ini格式的配置文件,实现路径的写入与读取. 第一步:界面构造函数中, ...

  8. QT当中的【QSetting和.ini配置文件】以及【创建Resources.qrc】

    QT当中的[QSetting和.ini配置文件]以及[创建Resources.qrc] [1] 创建QT下的.qrc [2]QSetting+.qrc使用 [3]代码实现 main.cpp mainw ...

  9. QT中读写.ini配置文件的操作

    ini 文件(即Initialization file):这种类型的文件中通常存放的是一个程序的初始化信息.ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个K ...

最新文章

  1. 2017可信区块链峰会在京举办 可信区块链标准和测评结果公布
  2. poj 1654 Area
  3. c语言ffffff错误,C语言打印16进制出现0xffffff现象的问题剖析!
  4. linux ant 解决 错误: 找不到或无法加载主类 org.apache.tools.ant.launch.Launcher
  5. 详解const和#define
  6. PAT_B_1015_C++(25分)
  7. sql出现列名无效的原因_学会SQL并不难,小白学习记录之二(简单查询)
  8. 中本聪愿景大会(SVC):BCH最贴近中本聪白皮书
  9. rls数据预测_SQL Server数据安全功能RLS(行级安全性)和GDPR
  10. Lumerical官方案例、FDTD时域有限差分法仿真学习(五)——液晶(liquid crystal)
  11. Android实现本地图片、视频左右镜像翻转
  12. 元气骑士如何获得机器人成就皮肤_《元气骑士》听过浮游炮大礼包吗?有利于快速获取机器人的皮肤!...
  13. HTTP协议和web服务技术---Apche配置
  14. P1293 班级聚会洛谷c++题解
  15. 使用MultiPowerOnOffTool工具 测试拔插网线对路由器的影响
  16. 淘宝推荐最靠谱的补单平台排行榜
  17. 基于wiki中文语料库的gensim模型使用方法以及R语言的调用方式
  18. java谐音梗_你听过最好玩的英语谐音梗是?
  19. 买卖时机APP 开启股票交易大数据时代!
  20. 基于贝叶斯算法的邮件过滤管理系统的设计和实现(Vue+SpringBoot)

热门文章

  1. 关于北京生孩子落户口问题集锦
  2. 如何打新股|打新股流程
  3. 【Pandas】日期抽取.dt.weekday与.weekday()
  4. 当php懈垢windows通用上传缺陷
  5. 【JZOJ 省选模拟】铺路 (road )
  6. 指定位置签到-百度地图
  7. 支付宝支付和微信支付
  8. 入会领京豆Python脚本
  9. 【Qt】 Fractal Designer 4.6 - Help(中文版)
  10. 深度详解什么是SaaS(软件即服务)