Advertisement

跨平台系统环境变量获取库

阅读量:

简述

一个简易且具备跨平台特性的C语言环境变量获取库。

在C语言中,无论是在Windows系统还是Linux系统下,获取环境变量的方式基本一致,通常通过getenv接口实现。然而,在实际使用过程中,获取环境变量时往往需要进行一些判断操作:

  • 当无法获取到环境变量时,需触发错误提示(assert),并终止当前程序的执行流程。
  • 若无法获取到环境变量,则采用自定义的默认值进行初始化处理。
  • 对于以yes、true、y、t等形式表示的布尔类型环境变量,应能够直接将其转换为布尔类型值。

源代码

复制代码
    #include <stdio.h>
    #include <stdlib.h>
    #include <assert.h>
    #include <string.h>
    
    typedef enum {
    ENV_FALSE = 0,
    ENV_TRUE = 1
    } env_bool_t;
    
    #ifdef _WIN32
    #define strcasecmp(s1, s2) stricmp(s1, s2)
    #endif
    
    static env_bool_t zstr(const char *s)
    {
    return (s == NU

全部评论 (0)

还没有任何评论哟~