⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 conf.c

📁 基于linux下C语言实现的CMPP通信协议
💻 C
字号:
/* 	conf.c by jiniang 2005.05.11 */#include <string.h>#include <stdio.h>#include <stdlib.h>#include "conf.h"int conf_trim(char * result,char * string){	char *ptr=string;	/* trim left */	while(strchr(" \f\n\r\t\v",*ptr) && *ptr)		++ptr;	strcpy(result,ptr);	/* trim right */	for(ptr=result;*ptr;++ptr);	for(--ptr;strchr(" \f\n\r\t\v",*ptr) && ptr!=result;--ptr)		*ptr='\0';	return 0;}int conf_load(char *path,struct conf *cfg){	struct conf *pconf=(struct conf*)cfg;	char string[1024];	memset(string,0,1024);	FILE * file=fopen(path,"rb");	if(!file) return -1;	size_t len=fread(string,1024,1,file);	char *p=string;	char *e=string;	while(*p)	{		while(!(*e=='\0' || *e=='\n'))			e++;		char tmp[512];		memset(tmp,0,512);		strncpy(tmp,p,e-p);		// skip # //		char *ptr=strchr(tmp,'#');		if(ptr) *ptr='\0';		// set value //		char *equ=strchr(tmp,'=');		if(equ)		{			*equ='\0';			char *name=tmp;			char *value=++equ;			conf_trim(pconf->name,name);			conf_trim(pconf->value,value);			pconf++;		}		p=++e;	}	memset(pconf,0,sizeof(struct conf));	fclose(file);	return 0;}char* conf_getvalue(struct conf *cfg,char *name){	struct conf *pconf=(struct conf*)cfg;	while(*(pconf->name)!='\0')	{		if(!strcasecmp(pconf->name,name))			return pconf->value;		pconf++;	}	return (char*)0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -