设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 6689|回复: 1
打印 上一主题 下一主题

ini文件的读取与写入

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-24 00:35:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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);
您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 22:52 , Processed in 0.112810 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表