GetPrivateProf来自ileString古牛行级是一个计算机函数,功能是为初始化文件中指定的条目取得字串,360百科是编辑语言中的一种函数结村构。
DWORD GetP与牛兵rivatePr360百科ofileStr够菜则祖材考ing(lpszSection, lpsz元Key, lpszDefault,lpReturnedS供由纪六哪弦入tring, cchReturnBuffer朝雨, lpszFile)
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lp初编富语烈造效一年玉画ApplicationName 集往As String, ByVal lpKeyName As String, ByV题秋让抓al lpDefault As String, ByVal lpReturnedString 秋用我激能As String, ByVal nSize As Long, ByVal lpFil未无局理鲁杂费eName As Stri研次引突ng) As Long
说明
为初始化文件中指定土代鲁的条目取得字串
Long,复制到lpReturnedString缓冲区的字节数量,其中不包括套优哥神持静此山主复散那些NULL中止字符。展频九又定跑何原不吸如lpReturnedStr来自ing缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpApplicationName或lpKey360百科Name为NULL,则返回nSize-2)
参数 类型及说明
lpApplicationName String,欲在其中查找条目的小节名称。这个字串不区分大小写。如设为vbNullString,就在lpReturnedSt帝说ring缓冲区内装载这个ini文件所有小节的列表。
lpKeyName String,欲获取的项名或神厚斯酸满危力功条目名。这个字串不区分大小写。如设为vbNullString,就初首析送翻依学样在lpReturnedString缓冲区内装载指定小节所有项的列表
lpDefault String,指定的条目没有找到时返回的默认值。可设为空("")
lpReturnedString String,指定一个字串缓冲区,长度至少为nSize
nSize Long,指定装载到lpReturnedString缓冲区的最大字符数量
l渐pFileName St顾们转ring,初始化甲剂小举谈图杀川于文件的名字。如没有指定一个完整路径名,windows就在Windows目录中由查找文件
如lpKeyName参数为vbNullString,那么lpReturned束左叶名价烈String缓冲区会载入指定小节所有设置项的一个列表。每个项都用一个NULL字符分隔,最后一个项用两个NULL字符中止。也请参考GetPrivateProfileInt函数的注解
殖护养函数返回值为string的长度(long型),而从ini文件获得的字符串则保留在目的缓冲器中DWORD GetPrivateProfileString(
LPCTSTR lpAppName, //配置文件的section名
LPCTSTR lpKeyName, //配置文件的key名
LPCTSTR lpDefault,
LPTSTR lpReturnedString,
DWORD nSize,
LPCTSTR lpFileName
);
其中各参数的意义:
前二个参数与 WritePrivateProfileString中的意义一样.
lpDefault : 如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量.
lpReturnedString : 接收INI文件中的值的CS待氧那语tring对象,即目的缓存器.
nSize : 目的缓存器的大小.
lpFileNa扬信庆印me : 是完整的I攻包NI文件名.
下面是一个常见的出错原因:
GetPriva季亚卫作失历预例石著宁teProfileString怎么总是读不出来
------------------------------------------------------种盾杂坏------------农三们样滑伤油处龙功---------毛组二良回台海额-----
*.INI内容
[NETWORK]
ServerIP=100.100.100.53
程序:
main()
{
char ip[16];
DWORD num=0;
num=GetPrivateProfileString("NETWORK","ServerIP","", ip,sizeof(ip), "Server.ini");
cout<<num<<endl<<ip<<endl;
}
--------
num=GetPrivateProfileString("NETWORK","ServerIP","", ip,sizeof(ip), "X:\XXX\Server.ini");
文件名必须是绝对路径,如果传入相对路径,则默认路径为C:\windows\
在vb的api文本查看器中复制的声明为:Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long