Windows中如何读写INI文件

Posted qingyishoujiuren

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows中如何读写INI文件相关的知识,希望对你有一定的参考价值。

1.INI文件写入函数

  BOOL WritePrivateProfileString(LPCTSTR lpAppName, LPCTSTR lpKeyName,LPCTSTR lpString, LPCTSTR lpFileName); 

  lpAppName:INI文件中的一个字段名,也可以有多个字段名,通过这个字段名才能继续去操作我们的键值

  lpKeyName:字段名下的一个键值,我们写入的数据会赋值与它

  lpString:我们要向INI文件中写入的数据

  lpFileName:INI文件的路径

 

2.INI文件读取函数

   DWORD GetPrivateProfileString(LPCTSTR lpAppName, LPCTSTR lpKeyName,LPCTSTR lpDefault, LPTSTR lpReturnedString,DWORD nSize, LPCTSTR lpFileName );

   lpAppName:字段名

   lpKeyName:字段名下的一个键值 

   lpDefault:如果lpReturnedString为空,则把个变量的值赋给lpReturnedString,也就是通常我们所说的默认值

     lpReturnedString:存放键值数据的指针变量,用于接受INI文件中的键值下的数据,作为接受缓存区使用

         nSize:lpReturnedString的缓冲区内存大小

     lpFileName:INI文件的路径

3.接下来就是具体操作了,代码如下,已验证们可以正常读写

 1 #include <iostream>
 2 #include <Windows.h>
 3 #include <Shlwapi.h>
 4 #include <tchar.h>
 5 
 6 #pragma comment (lib, "Shlwapi.lib")
 7 
 8 #define count_of(exp)  (sizeof(exp) / sizeof(exp[0]))
 9 
10 //INI文件名称
11 #define STUDENT_INFO   _T("StudentInfo.ini")
12 
13 //字节名
14 #define SECTION_NAME   _T("INFO")
15 
16 //键名
17 #define STUDENT_NAME       _T("name")
18 #define STUDENT_AGE        _T("age")
19 #define STUDENT_SEX        _T("sex")
20 
21 /*
22   路径:ini文件写到当前执行文件的目录下
23 */
24 int main()
25 {
26     //获取当前执行文件的上一级文件的路径
27     WCHAR szFilePath[MAX_PATH] = { 0 };
28     GetModuleFileName(NULL, szFilePath, MAX_PATH);
29     PathRemoveFileSpec(szFilePath);
30 
31     //设置INI文件的路径
32     WCHAR szINIFilePath[MAX_PATH] = { 0 };
33     PathCombine(szINIFilePath, szFilePath, STUDENT_INFO);
34     
35     //向INI文件中写入信息
36     WritePrivateProfileString(SECTION_NAME, STUDENT_NAME, _T("Jack"), szINIFilePath);
37     WritePrivateProfileString(SECTION_NAME, STUDENT_AGE, _T("18"), szINIFilePath);
38     WritePrivateProfileString(SECTION_NAME, STUDENT_SEX, _T("Man"), szINIFilePath);
39 
40     //从INI文件中获取信息
41     WCHAR szName[25] = { 0 };
42     WCHAR szAge[25] = { 0 };
43     WCHAR szSex[25] = { 0 };
44 
45     GetPrivateProfileString(SECTION_NAME, STUDENT_NAME, _T(""), szName, count_of(szName), szINIFilePath);
46     GetPrivateProfileString(SECTION_NAME, STUDENT_AGE,  _T(""), szAge, count_of(szName), szINIFilePath);
47     GetPrivateProfileString(SECTION_NAME, STUDENT_SEX,  _T(""), szSex, count_of(szName), szINIFilePath);
48 
49 
50 
51     system("pause");
52 
53     return 0;
54 }

INI文件信息:

技术图片

以上是关于Windows中如何读写INI文件的主要内容,如果未能解决你的问题,请参考以下文章

vb读写ini文件

如何使用Python3读写INI配置文件

Windows API 读写.ini文件

引用“kernel32”读写ini配置文件

[Python3]INI文件读写

C/C++ 关于如何读写ini配置文件 (小结)