• vc中常用文件操作(二) Ini文件操作


    在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下:

      一.将信息写入.INI文件中.

      1.所用的WINAPI函数原型为:

    BOOL WritePrivateProfileString(

      其中各参数的意义:

       LPCTSTR lpAppName 是INI文件中的一个字段名.

       LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名.

       LPCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的.

       LPCTSTR lpFileName 是完整的INI文件名.

      2.具体使用方法:设现有一名学生,需把他的姓名和年龄写入 c:\stud\student.ini 文件中.

    CString strName,strTemp;

      此时c:\stud\student.ini文件中的内容如下:

       [StudentInfo]

      3.要将学生的年龄保存下来,只需将整型的值变为字符型即可:

    strTemp.Format("%d",nAge);

    二.将信息从INI文件中读入程序中的变量.

      1.所用的WINAPI函数原型为:

    DWORD GetPrivateProfileString(

      其中各参数的意义:

       前二个参数与 WritePrivateProfileString中的意义一样.

       lpDefault : 如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量.

       lpReturnedString : 接收INI文件中的值的CString对象,即目的缓存器.

       nSize : 目的缓存器的大小.

       lpFileName : 是完整的INI文件名.

      2.具体使用方法:现要将上一步中写入的学生的信息读入程序中.

    CString strStudName;

      执行后 strStudName 的值为:"张三",若前两个参数有误,其值为:"默认姓名".

      3.读入整型值要用另一个WINAPI函数:

    UINT GetPrivateProfileInt(

      这里的参数意义与上相同.使用方法如下:

    nStudAge=GetPrivateProfileInt("StudentInfo","Age",10,"c:\\stud\\student.ini");

    三.循环写入多个值,设现有一程序,要将最近使用的几个文件名保存下来,具体程序如下:

      1.写入:

    CString strTemp,strTempA;

      2.读出:

    nCount=::GetPrivateProfileInt("FileCount","Count",0,"c:\\usefile\\usefile.ini");

    file://使用strTempA中的内容.

    }

    补充四点:
       1.INI文件的路径必须完整,文件名前面的各级目录必须存在,否则写入不成功,该函数返回 FALSE 值.
       2.文件名的路径中必须为 \\ ,因为在VC++中, \\ 才表示一个 \ .
       3.也可将INI文件放在程序所在目录,此时 lpFileName 参数为: ".\\student.ini".

  • 相关阅读:
    快速排序最新理解
    八大排序算法
    图的创建
    ARM入门实践(一)----Mini6410上最简单的LED点灯裸机程序
    驱动编程思想之初体验 --------------- 嵌入式linux驱动开发之点亮LED
    嵌入式Linux LED小灯点亮实验
    手算KMP匹配的Next值和Nextval值
    及格率 不谢 cast(cast (sum(case when res>=60 then 1 else 0 end)*100/(count(1)*1.0) as float) as nvarchar)+'%' '及格率'
    Hibernate反向工程生成DAO
    struts2&&Hibernate Demo1
  • 原文地址:https://www.cnblogs.com/syxchina/p/2197301.html
Copyright © 2020-2023  润新知