MFC批量读取.ini文件字符串

一、目的:

1、项目之前大多数使用公司的标准库,但是现在需要使用MFC读取.ini文件字符串,读取串口的16位信号,因此找一下方法,记录一下

 

二、参考:

1、MFC读取.ini文件的方法

https://www.cnblogs.com/yaowen/archive/2013/01/21/2870276.html

①总结:待测试:

 

三、步骤:

1、运行效果:

可以批量读取.ini文件字符串

 

1、注意:

①当时使用char 对象,一直无法读取成功,后来发现不能使用char,因为GetPrivateProfileString参数是宽字符

②要使用这个wchar_t进行批量处理

 

1、代码

	//测试:成功:读取ini多个字符串
	//第一步:找到配置文件路径
	TCHAR tchBuffer[MAX_PATH]; 
	LPWSTR curPath; 
	curPath = tchBuffer; 
	GetCurrentDirectory(MAX_PATH,curPath); 
	CString fileName("//config.ini"); 
	CString path(curPath); 
	path = path + "/../bin/Resource/Config"+fileName; 

	//第二步:准备批量处理读取配置文件的串口信息
	string str_target;
	TCHAR tc0[MAX_PATH];
	for(int i=0;i<6;i++)
	{
		//char是8位字符类型,最多只能包含256种字符,许多外文字符集所含的字符数目超过256个,char型无法表示。
		//wchar_t数据类型一般为16位或32位,但不同的C或C++库有不同的规定,如GNU Libc规定wchar_t为32位,总之,wchar_t所能表示的字符数远超char型。
		
		//char c_key[MAX_PATH];//失败,不能使用char,因为GetPrivateProfileString参数是宽字符
		//sprintf(c_key,"signal%d",i);
		wchar_t c_key[MAX_PATH];
	 	wsprintf(c_key,L"signal%d",i);
		GetPrivateProfileString(L"Signal",(LPCWSTR)c_key,L"",tc0,MAX_PATH,path); 
		//str_target= WCharToMByte(tc0);
		//m_serialPort.vec_str_target.push_back(str_target);
	}

 

3、文件夹设置

我设置的MFC发布的exe在这个文件夹中,所以读取路径的时候需要注意

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值