新微赢技术网
标题:
ini文件的读取与写入
[打印本页]
作者:
Оo水流影在.
时间:
2009-11-24 00:35
标题:
ini文件的读取与写入
ini文件的读取操作
通过这五个函数可以读出 .ini文件的int型value,string型value,所有的section,每个section的所有key字段,struct型value。
返回每个section的所有key字段时,返回值为写入的字符数,缓冲区内以'\0'为间隔符。
[section]
key1=int
key2=string
key3=struct
//************************************************************************
UINT GetPrivateProfileInt(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
INT nDefault,
LPCTSTR lpFileName
);
//********************************************************************
DWORD GetPrivateProfileSection(
LPCTSTR lpAppName,
LPTSTR lpReturnedString,
DWORD nSize,
LPCTSTR lpFileName
);
//********************************************************************
DWORD GetPrivateProfileSectionNames(
LPTSTR lpszReturnBuffer,
DWORD nSize,
LPCTSTR lpFileName
);
//********************************************************************
DWORD GetPrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpDefault,
LPTSTR lpReturnedString,
DWORD nSize,
LPCTSTR lpFileName
);
//********************************************************************
BOOL GetPrivateProfileStruct(
LPCTSTR lpszSection,
LPCTSTR lpszKey,
LPVOID lpStruct,
UINT uSizeStruct,
LPCTSTR szFile
);
//********************************************************************
ini文件的写入操作
BOOL WritePrivateProfileSection(
LPCTSTR lpAppName,
LPCTSTR lpString,
LPCTSTR lpFileName
);
BOOL WritePrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpString,
LPCTSTR lpFileName
);
BOOL WritePrivateProfileStruct(
LPCTSTR lpszSection,
LPCTSTR lpszKey,
LPVOID lpStruct,
UINT uSizeStruct,
LPCTSTR szFile
);
h=GetPrivateProfileSection("Directories",lpReturnedString,nSize,lpFileName);
printf("%s\n%d\n%d\n",lpReturnedString,h,strlen(lpReturnedString));
for(int i=0;i<h;i++)
{
printf("%c",lpReturnedString[i]=='\0' ? '\n':lpReturnedString[i]);
}
h=GetPrivateProfileSectionNames(lpReturnedString,nSize,lpFileName);
printf("%s\n%d\n%d\n",lpReturnedString,h,strlen(lpReturnedString));
for(int i=0;i<h;i++)
{
printf("%c",lpReturnedString[i]=='\0' ? '\n':lpReturnedString[i]);
}
typedef struct _mytest
{
int i;
char a[30];
double d;
}mytest;
mytest mystruct={0},myout;
mystruct.i=5;
strcpy(mystruct.a,"zheng");
mystruct.d=5.06;
if(WritePrivateProfileStruct("zheng","test",(mytest *)&mystruct,sizeof(mystruct),"c:\\myfile.ini"))
{
if(GetPrivateProfileStruct("zheng","test",(mytest *)&myout,sizeof(myout),"c:\\myfile.ini"))
printf("%d\n%s\n%f\n",myout.i,myout.a,myout.d);
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2