Win32 init操作

前言

init是文件时微软提供一种轻量级数据存储方式,对于新版的应用文档提示应使用注册表。

我们首先看看init文件的格式:
在这里插入图片描述

语法比较简单

  1. ;xxxxxx 注释
  2. [xxxx] 表示某个节
  3. xxx=yyy

我们做下语法总结如下:

[section]
key=value
[section2]
key=value

WritePrivateProfileStringA 文档

BOOL WritePrivateProfileStringA(
  LPCSTR lpAppName,
  LPCSTR lpKeyName,
  LPCSTR lpString,
  LPCSTR lpFileName
);

lpAppName: 节名 不区分大小写
lpKeyName: key名 如果为空那么会删除这个节下面的所有数据
lpString: value数值 如果为空那么删除这个key值

lpFileName init 所在文件 这里注意 "./MyInit.ini""MyInit.ini"表示不同目录。

"./MyInit.ini"表示当前进程所在目录的/MyInit.ini文件
"MyInit.ini" 表示的c:/windows/MyInit.ini

我们来看一个小案例

void CMFCApplication1Dlg::OnBnClickedButton1()
{
	//写入到Windows 的win.ini文件,需要考虑权限
	/*BOOL bRet = ::WriteProfileString(TEXT("我的自定义节名"),TEXT("我的自定义KEY名"), TEXT("我的自定义VALUE名"));
	if (!bRet)
	{
		::AfxMessageBox("写入WriteProfileString失败");
	}*/


	BOOL bRet = ::WritePrivateProfileString(
		TEXT("我的自定义节名"),//节名 不区分大小写
		TEXT("我的自定义KEY名"),//key 数值,如果为空那么删除整个节下面的所有key和value
		TEXT("我的自定义VALUE名"),//value 数值,如果为null 那么删除当前key
		"./MyInit.ini"//写入到那个文件夹,如果直接写 "MyInit.ini"相对目录为c:/Windows 需要考虑权限,你应该写"./MyInit.ini"是相对于程序目录
	);
	if (!bRet)
	{
		::AfxMessageBox("写入WritePrivateProfileString失败");
	}
	
	bRet = ::WritePrivateProfileString(
		TEXT("我的自定义节名"),//节名 不区分大小写
		TEXT("我的自定义KEY名2"),//key
		TEXT("我的自定义VALUE名2"),//value
		"./MyInit.ini"//写入到那个文件夹,如果直接写 "MyInit.ini"相对目录为c:/Windows 需要考虑权限,你应该写"./MyInit.ini"是相对于程序目录
	);
	
	 if (!bRet)
	{
		::AfxMessageBox("写入WritePrivateProfileString失败");
	}
	//
	//bRet = ::WritePrivateProfileString(
	//	TEXT("我的自定义节名"),//节名 不区分大小写
	//	NULL,//key 为空删除这个节下面的所有东西
	//	TEXT("我的自定义VALUE名2"),//value
	//	"./MyInit.ini"//写入到那个文件夹,如果直接写 "MyInit.ini"相对目录为c:/Windows 需要考虑权限,你应该写"./MyInit.ini"是相对于程序目录
	//);

	//if (!bRet)
	//{
	//	::AfxMessageBox("写入WritePrivateProfileString失败");
	//}

}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值