zoukankan      html  css  js  c++  java
  • 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文件信息:

  • 相关阅读:
    使用Speex中的AEC模块,提高声音质量(转)
    音频编解码speex库的使用方法
    VC 多线程编程(转)
    并口、串口、COM口区别
    用GDB调试程序
    [转]PCM文件格式
    PreTranslateMessage作用和使用方法
    音频编解码标准
    VS2010 运行速度加快方法(转)
    ON_COMMAND ON_MESSAGE ON_NOTIFY区别与联系
  • 原文地址:https://www.cnblogs.com/QingYiShouJiuRen/p/13276856.html
Copyright © 2011-2022 走看看