linux c读取配置文件

#include <stdio.h>
#include <unistd.h>
#include <string.h>

#define MAX_FILE_SIZE   1024*10
#define LEFT_BRACE       '['
#define RIGHT_BRACE     ']'
#define EQUAL                    '='
#define LINEEND              '\n'

/* 查找出关键字的位置和长度
 * strFileName: 文件名,包括其路径
 * strSection : 关键段
 * strKey     : 关键字
 * iOffset    : 要查找的关键字对应内容的位置  
 * iLen       : 要查找的关键字对应内容的长度
 * 成功返回0, 失败返回-1
 */
int FindValuePos(char *strFileName, char *strSection, char *strKey, int *iOffset, int *iLen)
{
        char    strFileBuf[MAX_FILE_SIZE + 1]   = "\0";
        FILE    *frp                            = NULL;
        int     iFileSize                       = 0;
        int     iPosition                       = 0;
        int     iReadCount                      = 0;
        int     iRet                            = 0;
        char    *tmpstring                      = NULL;
        int     itmpLen                         = 0;

      if(NULL == strFileName || NULL == strSection || NULL == strKey)
        {
                printf("param is empty!\n");
                return -1;
        }

        if(-1 == access(strFileName, F_OK | R_OK))
        {
                               return -1;
        }

        frp = fopen(strFileName, "rb");
        if(NULL == frp)
        {
                printf("fopen fail\n");
                return -1;
        }

        fseek(frp, 0L, SEEK_END);
        iFileSize = ftell(frp);
        fseek(frp, 0L, SEEK_SET);
        memset(strFileBuf, 0, iFileSize + 1);
        while(iReadCount < iFileSize)
        {
                iRet = fread(strFileBuf + iReadCount, sizeof(unsigned char), iFileSize - iRead

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值