免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 9849 | 回复: 6

[C] C语言读取.ini文件里面的参数 [复制链接]

论坛徽章:
0
发表于 2009-09-11 17:24 |显示全部楼层
5可用积分
我现在看到一个函数,功能是读取odbc.ini里面的值,但是这个程序没有说明注释
不知道读取配置文件的步骤是什么,采用什么样的算法思想呢?哪本书有具体说到这东西啊?

论坛徽章:
0
发表于 2009-09-11 17:38 |显示全部楼层
如果是 windows 可以用系统 api GetPrivateProfileInt

论坛徽章:
0
发表于 2009-09-11 17:41 |显示全部楼层
md,顺手就提交了,还没说完~~

可以自己写 fopen 了,然后当作文本文件读出来,再按行解析~~用 key => value 结构保存在内存。

linux 下有 iniparser 或者 glib 的 key file 等库

论坛徽章:
0
发表于 2009-09-11 17:54 |显示全部楼层
之前google搜到msdn上有看到相关实现,代码太长贴不了,自己搜索找找吧

DWORD GetPrivateProfileString(                  
  LPCTSTR lpAppName,     // points to section name     
  LPCTSTR lpKeyName,     // points to key name         
  LPCTSTR lpDefault,     // points to default string   
  LPSTR lpReturnedString, // points to destination buffer         
  DWORD nSize,         // size of destination buffer   
  LPCTSTR lpFileName     // points to initialization filename      
)

论坛徽章:
0
发表于 2009-09-11 18:09 |显示全部楼层
LPCTSTR lpAppName,     // points to section name
这个指的是配置文件的哪部分啊?
是在unix下面的
若配置文件格式如
[ODBC Data Sources]
dBase=MERANT 3.60 dBase Driver
Sybase=MERANT 3.60 Sybase Driver
Sybase11=MERANT 3.60 Sybase 11 Driver
Oracle7=MERANT 3.60 Oracle 7 Driver
Oracle8=MERANT 3.60 Oracle 8 Driver
Informix=MERANT 3.60 Informix Driver
OpenIngres=MERANT 3.60 OpenIngres 1.2 Driver
OpenIngres20=MERANT 3.60 OpenIngres 2.0 Driver
DB2=MERANT 3.60 DB2 Driver
UDB2=MERANT 3.60 UDB DB2 Driver
Text=MERANT 3.60 Text Driver
MS_SQLServer7=MERANT SQLServer driver

[dBase]
Driver=/opt/odbc360/lib/ivdbf15.so
Description=dBase
Database=/opt/odbc360/demo
lpAppName是指哪部分?

论坛徽章:
0
发表于 2009-09-11 18:46 |显示全部楼层

回复 #1 liumilan2009 的帖子

只读的话有个库iniparser  写有些不稳定

论坛徽章:
0
发表于 2011-10-25 15:58 |显示全部楼层
最好用unix下的一个开源库,iniparser库,这个库中有具体的读取函数,调用即可,
首先:iniparser_load加载文件,
再:iniparser_getstring读取值,
再:iniparser_freedict释放dictionary中的数据,
希望对你有用!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP