标题：GetPrivateProfileInt
VB声明
Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long 
说明为初始化文件中指定的条目获取它的整数值 
返回值Long，找到的条目的值；如指定的条目未找到，就返回默认值。如找到的数字不是一个合法的整数，函数会返回其中合法的一部分。如，对于“xyz=55zz”这个条目，函数返回55。这个函数也能理解采用标准C语言格式的十六进制数字：用0x作为一个十六进制数字的前缀——所以0x55ab等价于vb的&H55AB 
参数表参数 类型及说明 
lpApplicationName String，指定在其中查找条目的小节。注意这个字串是不区分大小写的 
lpKeyName String，欲获取的设置项或条目。这个支持不区分大小写 
nDefault Long，指定条目未找到时返回的默认值 
lpFileName String，初始化文件的名字。如果没有指定完整的路径名，windows就会在Windows目录中搜索文件 
注解在Windows NT中，有些初始化文件实际是在注册表中。可在注册表的下面这个项处找到这些文件的一个列表：HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping 
///////////////////////////////////////////////////////////////////////////
UINT GetPrivateProfileInt( 
LPCTSTR lpAppName, 
LPCTSTR lpKeyName, 
INT nDefault, 
LPCTSTR lpFileName 
); 
其中各参数的意义: 
LPCTSTR lpAppName 是INI文件中的一个字段名. 
LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名. 
LPCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的. 
LPCTSTR lpFileName 是完整的INI文件名. 
使用方法如下:
nStudAge=GetPrivateProfileInt("StudentInfo","Age",10,"c:\\stud\\student.ini"); 
解释：在字符段内寻找“Age”字符串，Age=1000的话返回值nStudAge=1000；否则全正确返回0，有一处不正确返回10。
BOOL WritePrivateProfileString( 
LPCTSTR lpAppName, 
LPCTSTR lpKeyName, 
LPCTSTR lpString, 
LPCTSTR lpFileName 
); 
其中各参数的意义: 
LPCTSTR lpAppName 是INI文件中的一个字段名. 
LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名. 
LPCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的. 
LPCTSTR lpFileName 是完整的INI文件名. 
CString strTemp,strTempA; 
int i; 
int nCount=6; //共有6个文件名需要保存 
for(i=0;i {strTemp.Format("%d",i); 
strTempA=文件名; //文件名可以从数组,列表框等处取得. 
::WritePrivateProfileString("UseFileName","FileName"+strTemp,strTempA, 
"c:\\usefile\\usefile.ini"); 
} 
strTemp.Format("%d",nCount); 
::WritePrivateProfileString("FileCount","Count",strTemp,"c:\\usefile\\usefile.ini"); 
//将文件总数写入,以便读出. 
UINT GetPrivateProfileInt( 
LPCTSTR lpAppName, 
LPCTSTR lpKeyName, 
INT nDefault, 
LPCTSTR lpFileName 
); 
其中各参数的意义: 
LPCTSTR lpAppName 是INI文件中的一个字段名. 
LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名. 
LPCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的. 
LPCTSTR lpFileName 是完整的INI文件名. 
使用方法:
nStudAge=GetPrivateProfileInt("StudentInfo","Age",10,"c:\\stud\\student.ini"); 
解释：在字符段内寻找“Age”字符串，Age=1000的话返回值nStudAge=1000；否则全正确返回0，有一处不正确返回10。
BOOL WritePrivateProfileString( 
LPCTSTR lpAppName, 
LPCTSTR lpKeyName, 
LPCTSTR lpString, 
LPCTSTR lpFileName 
); 
其中各参数的意义: 
LPCTSTR lpAppName 是INI文件中的一个字段名. 
LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名. 
LPCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的. 
LPCTSTR lpFileName 是完整的INI文件名. 
CString strTemp,strTempA; 
int i; 
int nCount=6; //共有6个文件名需要保存 
for(i=0;i {strTemp.Format("%d",i); 
strTempA=文件名; //文件名可以从数组,列表框等处取得. 
::WritePrivateProfileString("UseFileName","FileName"+strTemp,strTempA, 
"c:\\usefile\\usefile.ini"); 
} 
strTemp.Format("%d",nCount); 
::WritePrivateProfileString("FileCount","Count",strTemp,"c:\\usefile\\usefile.ini"); 
//将文件总数写入,以便读出. 
配置文件中经常用到ini文件，在VC中其函数分别为：
写入.ini文件：bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);
读取.ini文件：DWORD GetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpDefaut,LPSTR lpReturnedString,DWORD nSize,LPCTSTR lpFileName);
读取整形值：UINT GetPrivateProfileInt(LPCTSTR lpAppName,LPCTSTR lpKeyName,INT nDefault,LPCTSTR lpFileName);
其中个参数的意思：
LPCTSTR lpAppName ------- INI文件中的一个字段名
LPCTSTR lpKeyName -------- lpAppName 下的一个键名，也就是里面具体的变量名
LPCTSTR lpString ---------是键值，也就是变量的值，必须为LPCTSTR或CString类型
LPCTSTR lpFileName --------完整的INI文件路径名
LPCTSTR lpDefaut ----------如果没有其前两个参数值，则将此值赋给变量
LPSTR lpReturnedString --------接收INI文件中的值的CString对象，即接收缓冲区
DWORD nSize ------接收缓冲区的大小
例子：
CString StrName,Strtemp;
int nAge;
StrName = "jacky";
nAge = 13;
WritePrivateProfileString("Student","Name",StrName,"c:\\setting.ini");
结果：（INI文件中显示如下：）
[Student]
Name=jacky
读取：
CString SName;
GetPrivateProfileString("Student","Name","DefaultName",SName.GetBuffer(MAX_LENGTH),MAX_LENGTH,"c:\\setting.ini");
结果：SName = "jacky"；这里需要注意点就是用完GetBuffer函数后一定要释放(用SName.ReleaseBuffer()函数)，不然后面再用到SName的其他子函数就会失灵。
读整数比较简单，如下
int Result = GetPrivateProfileInt("Student","nAge",0,"c:\\setting.ini")返回值即为所读取的结果！
在GetPrivateProfileString最后一个参数是配置文件路径的参数，此路径只能是绝对路径，不能是相对路径，但现在我需要是我的exe文件能和我的配置文件在一起。因此我使用了GetCurrentDirectory函数。
原代码例程：
CString server_ip;
CString des="";
::GetCurrentDirectory(MAX_PATHLENGTH,des.GetBuffer(MAX_PATHLENGTH));
des.ReleaseBuffer();
des+="\\config.ini";
GetPrivateProfileString("PhoneDemo","Server_IP","",server_ip.GetBufferSetLength(15),15,des);
server_ip.ReleaseBuffer();
注意：在这里使用CString变量时，在使用完GetBuffer后，紧接着一定要使用ReleaseBuffer()函数，才可以进行其他的诸如字符串+操作[1]