用C语言配置文件读取程序,读取配置文件[方式一]之纯C语言实现

我们在程序编写中往往会遇到这样的情况,程序运行中我们会读取配置文件,从中读取我们程序需要的各种参数与配置信息,我一般采用读取配置文件和使用Berkeley db的方式,这两种方式的移植性都较好,当然前者更好,但是后者也有它的好处,它可以很好的处理配置信息的读取等等,但是它需要bdb库的支持,虽然库很小,但对我们来讲,还是麻烦,所以我们一般还是采用读取配置文件的方式,而读取配置文件的方式又有很多种,本篇就讲第一种方式,也是我最常用的一种方式,单纯的用C库函数来实现.

一.示例

这里我们还是以usb_modeswitch的代码为例子进行讲解,首先看一下它的配置文件:usb_modeswitch.conf,其中的格式如下部分所示:

########################################################

# Huawei E630

#

# There seem to be modem-only variants around - no storage,

# no switching

#

# Contributor: Joakim Wenrgren

;DefaultVendor= 0x1033

;DefaultProduct= 0x0035

;TargetVendor= 0x12d1

;TargetProduct= 0x1003

# choose one of these:

;HuaweiMode=1

;DetachStorageOnly=1

########################################################

二.读取此配置文件的程序实现

/

//

/**********************************************************

//真正的配置文件解析函数,它的实现很简单,就不详细分析了,主要就是利用几个标准库函数就可以处理了,

//主要包括:fgets,strchr ,strcspn ,strrchr ,strspn ,

//

//

**********************************************************/

/***************************************/

// the parameter parsing stuff

/***************************************/

char* ReadParseParam(const char* FileName, char *VariableName)

{

static char Str[LINE_DIM];

char *VarName, *Comment=NULL, *Equal=NULL;

char *FirstQuote, *LastQuote, *P1, *P2;

int Line=0, Len=0, Pos=0;

FILE *file=fopen(FileName, "r");

if (file==NULL) {

fprintf(stderr, "Error: Could not find file %s/n/n", FileName);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值