用Visual C++操作INI文件

原创 2004年02月20日 11:38:00

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

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

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

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

  其中各参数的意义:

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

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

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

   LPCTSTR lpFileName 是完整的INI文件名.

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

CString strName,strTemp;
int nAge;
strName="张三";
nAge=12;
::WritePrivateProfileString("StudentInfo","Name",strName,"c://stud//student.ini");

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

   [StudentInfo]
   Name=张三

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

strTemp.Format("%d",nAge);
::WritePrivateProfileString("StudentInfo","Age",strTemp,"c://stud//student.ini");
 二.将信息从INI文件中读入程序中的变量.

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

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

  其中各参数的意义:

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

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

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

   nSize : 目的缓存器的大小.

   lpFileName : 是完整的INI文件名.

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

CString strStudName;
int nStudAge;
GetPrivateProfileString("StudentInfo","Name","默认姓名",strStudName.GetBuffer(MAX_PATH),MAX_PATH,"c://stud//student.ini");

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

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

UINT GetPrivateProfileInt(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
INT nDefault,
LPCTSTR lpFileName
);

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

nStudAge=GetPrivateProfileInt("StudentInfo","Age",10,"c://stud//student.ini");
三.循环写入多个值,设现有一程序,要将最近使用的几个文件名保存下来,具体程序如下:

  1.写入:

CString strTemp,strTempA;
int i;
int nCount=6;
file://共有6个文件名需要保存
for(i=0;i {strTemp.Format("%d",i);
strTempA=文件名;
file://文件名可以从数组,列表框等处取得.
::WritePrivateProfileString("UseFileName","FileName"+strTemp,strTempA,
"c://usefile//usefile.ini");
}
strTemp.Format("%d",nCount);
::WritePrivateProfileString("FileCount","Count",strTemp,"c://usefile//usefile.ini");
file://将文件总数写入,以便读出.

  2.读出:

nCount=::GetPrivateProfileInt("FileCount","Count",0,"c://usefile//usefile.ini");
for(i=0;i {strTemp.Format("%d",i);
strTemp="FileName"+strTemp;
::GetPrivateProfileString("CurrentIni",strTemp,"default.fil", strTempA.GetBuffer(MAX_PATH),MAX_PATH,"c://usefile//usefile.ini");

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

}

  补充四点:

   1.INI文件的路径必须完整,文件名前面的各级目录必须存在,否则写入不成功,该函数返回 FALSE 值.

   2.文件名的路径中必须为 // ,因为在VC++中, // 才表示一个 / .

   3.也可将INI文件放在程序所在目录,此时 lpFileName 参数为: ".//student.ini".

 
 

C++ Windows读写INI文件

C++ Windows读写INI文件 一:将信息写入到INI文件 所用函数: BOOL WritePrivateProfileString( LPCSTR lpAppName,   ...
  • yaoshenjie
  • yaoshenjie
  • 2015年12月13日 13:52
  • 1593

C++ 读取写入INI文件

1、适用于C++项目,适用于Windows和Linux平台,依赖STL标准库。 2、用于C++读取INI文件,写入INI文件,以及查找相应键值对的快速操作。 3、在项目中需要此功能时,只需...
  • normallife
  • normallife
  • 2016年09月25日 13:22
  • 5340

用Visual C++操作INI文件

用Visual   C++操作INI文件                 在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时...
  • szramon
  • szramon
  • 2010年04月26日 21:51
  • 297

用Visual C++操作INI文件 收藏

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

用Visual C++操作INI文件(转)

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

用Visual C++操作INI文件

用Visual C++操作INI文件  在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下:  一.将信...
  • LBPeking
  • LBPeking
  • 2008年05月17日 07:12
  • 453

用Visual C++操作INI文件

基础类用Visual C++操作INI文件 ...
  • Jason009
  • Jason009
  • 2006年09月28日 10:18
  • 737

(转)用Visual C++操作INI文件

基础类用Visual C++操作INI文件转自 《csdn VC编程经验总结》,貌似它这书这篇也是转别人的,呵呵在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将...
  • JarvisChu
  • JarvisChu
  • 2010年08月11日 15:59
  • 986

C++学习:一个通用ini配置文件操作类

在windows平台下,简单的程序可以通过ini文件实现简单的配置,简单适用。在win32 sdk还提供了相应的api来读取修改ini文件。ini配置文件格式为: [section] key=st...
  • KiteRunner
  • KiteRunner
  • 2012年09月30日 10:59
  • 2150

用Visual C++操作INI文件 .

在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下:   一.将信息写入.INI文件中.  ...
  • javaweb_research
  • javaweb_research
  • 2011年09月07日 14:57
  • 304
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用Visual C++操作INI文件
举报原因:
原因补充:

(最多只允许输入30个字)