parse.cpp

来自「包含客户和服务器的升级程序,在linux下可以运行的.」· C++ 代码 · 共 64 行

CPP
64
字号
/* * Copyright (C) 2006, Binary Ma * Licence: GNU GPL 1991 - version 2 * Bug report: binary@eniak.org*/#include "parse.h"#include <stdio.h>#include <string.h>#include <ctype.h>static const char* VERSION = "0.6.2";static char* trim( char* str ){    if( NULL == str )        return NULL;        while( isspace( *str ) )        str++;        int len = strlen( str );    while( len-- )    {        if( 0 == isspace( str[len] ) )        {            str[len + 1] = 0;            break;        }    }        return str;}char* parse( const char* file, const char* key, char compart ){    if( NULL == file || NULL == key )        return NULL;		    FILE* config = fopen( file, "r" );    if( NULL == config )        return NULL;    static char buf[1024];    char* retval = NULL;    char* point = NULL;    while( NULL != fgets( buf, sizeof( buf ), config ) )    {        point = strchr( buf, compart );        if( NULL == point )            continue;        *point++ = 0;        if( 0 == strcmp( trim( buf ), key ) )        {            retval = trim( point );            break;        }    }    fclose( config );    return retval;}

⌨️ 快捷键说明

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