码迷,mamicode.com
首页 > Windows程序 > 详细

Windows中如何读写INI文件

时间:2020-07-10 00:24:41      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:缓冲   vat   指针   strong   接下来   loading   lazy   bsp   har   

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文件

标签:缓冲   vat   指针   strong   接下来   loading   lazy   bsp   har   

原文地址:https://www.cnblogs.com/QingYiShouJiuRen/p/13276856.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!