Config配置文件读写
配置文件本质上是包含成功操作程序所需信息的文件,这些信息以特定方式构成。它们不是在程序中进行硬编码,而是用户可配置的,通常存储在纯文本文件中。
写配置文件
使用函数WritePrivateProfileStringW写配置文件
BOOL WritePrivateProfileStringW([in] LPCWSTR lpAppName,[in] LPCWSTR lpKeyName,[in] LPCWSTR lpString,[in] LPCWSTR lpFileName
);
- 参数lpAppName
表示ini文件中的一个字段名(节名),可以有很多节名
- 参数lpKeyName
表示lpAppName下的一个键名
- 参数lpString
表示键值,也就是变量的值
- 参数lpFileName
表示完整的ini文件名
读配置文件
使用GetPrivateProfileStringW读取配置文件
DWORD GetPrivateProfileStringW([in] LPCWSTR lpAppName,[in] LPCWSTR lpKeyName,[in] LPCWSTR lpDefault,[out] LPWSTR lpReturnedString,[in] DWORD nSize,[in] LPCWSTR lpFileName
);
参数
lpAppName
表示INI文件中的一个字段名(节名)。如果此参数为NULL,则函数会将文件中的所有节名复制到提供的缓冲区。
参数
lpKeyName
要检索其关联字符串的键的名称。如果此参数为NULL,则lpAppName参数指定的节中的所有键名称都将复制到lpReturnString参数指定的缓冲区中。
参数
lpDefault
默认字符串。如果在初始化文件中找不到lpKeyName键,GetPrivateProfileString会将默认字符串复制到lpReturnString缓冲区。如果此参数为NULL,则默认值为空字符串 “”。避免指定带有尾随空白字符的默认字符串。该函数在lpReturnString缓冲区中插入一个空字符,以去除任何尾随空格。
参数
lpReturnedString
表示指向接收缓冲区的指针。
参数
nSize
表示指向的缓冲区的大小(以字符为单位)。
参数
lpFileName
初始化文件的名称。如果此参数不包含文件的完整路径,系统将在 Windows 目录中搜索该文件。
Demo示例
写配置文件
通过GetCurrentDirectory获取当前程序所在目录,在当前目录下创建INI文件。
//读写配置文件void CMyFileCFileView::OnWriteConfig() {//获取当前路径WCHAR strPath[MAX_PATH] = { 0 };GetCurrentDirectoryW(MAX_PATH, strPath);CString strFilePath;strFilePath.Format(L"%ls//Test.ini", strPath); //字符串拼接WritePrivateProfileStringW(L"metada", L"title", L"搜狗双拼", strFilePath); //段名、键名、内容WritePrivateProfileStringW(L"声母", L"ch", L"I", strFilePath);WritePrivateProfileStringW(L"声母", L"sh", L"U", strFilePath);
}
读配置文件
读取配置文件,通过TRACE将读取的值显示出来。
//读配置文件
void CMyFileCFileView::OnReadConfig() {WCHAR strPath[MAX_PATH] = { 0 };WCHAR strTitle[MAX_PATH] = { 0 };WCHAR strCh[MAX_PATH] = { 0 };WCHAR strSh[MAX_PATH] = { 0 };//获取当前路径GetCurrentDirectoryW(MAX_PATH, strPath);TRACE("## strPath = %ls", strPath);CString strFilePath;strFilePath.Format(L"%ls//Test.ini", strPath); //字符串拼接DWORD dwNum1 = GetPrivateProfileStringW(L"metada", L"title", NULL,strTitle, MAX_PATH, strFilePath);DWORD dwNum2 = GetPrivateProfileStringW(L"声母", L"ch", NULL,strCh, MAX_PATH, strFilePath);DWORD dwNum3 = GetPrivateProfileStringW(L"声母", L"sh", NULL,strSh, MAX_PATH, strFilePath);TRACE("#dwNum1 = %d , dwNum2 = %d , dwNum3 = %d", dwNum1, dwNum2, dwNum3);USES_CONVERSION;char* szTitle = W2A(strTitle);char* szSh = W2A(strSh);char* szCh = W2A(strCh);TRACE("#strTitle = %s , strCh = %s , strSh = %s", szTitle, szCh, szSh);
}
Config配置文件读写相关推荐
- WPF读写config配置文件
WPF读写config配置文件单. 1. 在你的工程中,添加app.config文件.文件的内容默认为: 1 <?xml version="1.0" encoding=&qu ...
- Winform—C#读写config配置文件
现在FrameWork2.0以上使用的是:ConfigurationManager或WebConfigurationManager.并且AppSettings属性是只读的,并不支持修改属性值. 一.如 ...
- C#读写config配置文件
应用程序配置文件(App.config)是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序. 对于一个config ...
- .NET平台开源项目速览(1)SharpConfig配置文件读写组件
原文:.NET平台开源项目速览(1)SharpConfig配置文件读写组件 在.NET平台日常开发中,读取配置文件是一个很常见的需求.以前都是使用System.Configuration.Config ...
- .NET配置文件读写实例(附SosoftConfigHelper类)
配置文件在软件开发中起到举足轻重的作用,可以说不可或缺..NET程序可使用.config文件作为配置文件,例如WinForm程序的*.app.config.Web程序的web.config..conf ...
- 我的INI 配置文件读写动态库
工作需要,今天上午花时间看了一下INI 配置文件的相关文章,并添加到项目中. 后来想想,干脆封装成DLL 动态库,并提供给大家使用,顺便更新一下博客.^_^ INI 配置文件的格式 在早期的Windo ...
- 【机房重构】关于App.config配置文件
App.Config详解 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序. 配置文件的根节点是 ...
- 利用 yaml-cpp 开源库读写 yaml 配置文件—— 读写部分
利用 yaml-cpp 开源库读写 yaml 配置文件-- 读写部分 YAML文件解析 Node 读写yaml文件 config.yaml内容 test_yaml.cpp文件内容 重要内容简单解释 n ...
- c语言——配置文件读写
目录 c语言--配置文件读写 代码 头文件 主文件 工具类 判断当前行是否有效 获得文件有效行数 加载配置文件 解析配置文件 获得指定配置信息 释放配置文件信息 总的代码 配置文件 c语言--配置文件 ...
最新文章
- 利用phpmailer类邮件发送
- python数据分析工具包_脑成像数据分析:Python工具包
- 2012传统行业转型年:整合拓展互联网发展渠道
- 如何使用 C# 中的 HashSet
- 真正的动态声明性组件
- 数学建模亚太赛优秀论文_2019亚太地区大学生数学建模竞赛志愿者等级评定结果公布!...
- php 判断 in,tinkphp常用判断条件in、notin、between、AND、OR
- 【AJAX】AJAX实现搜索信息自己主动推荐并补全
- Linux定时任务:crontab安装与检查
- 02 掌握变量的定义和使用方法 1214
- 网站开发常用链接信息
- uni-app 编译后微信h5打开APP,并且打开相应的页面
- USB大容量存储类规范概述
- 华师大学 计算机 调剂,2020华南师范大学调剂公告
- 【图文并茂】手把手教你重装Win10系统
- 《深入理解计算机系统》之浅析程序性能优化
- 微信群满100人后无法扫码进群?你们要的解决方法来了!
- ubuntu 关闭系统自动更新
- 0DAY零距离(很经典的一片文章,找了好久)
- 面向对象程序综合设计 课程设计——僵尸危机