在C中打印环境变量WITH VALUES

时间:2016-09-30 10:22:10

标签: c

如何在C中打印环境变量,但没有值?只有变量。

int main(int argc, char **argv, char **envp)
{
    while(*envp!=NULL) {
        printf("%s\n", *envp);
        envp++;
    }
    system("pause");
    return 0;
}

2 个答案:

答案 0 :(得分:2)

由于环境变量的格式为NAME=value,因此您只需显示最多=个字符的字符串部分。

#include <stdlib.h>
#include <stdio.h>

int main(int argc, char **argv, char **envp)
{
    while(*envp!=NULL) {
        char * len = strchr(*envp, '=');

        if (len == NULL)
            printf("%s\n", *envp);
        else
            printf("%.*s\n", len - *envp, *envp);

        envp++;
    }
    system("pause");
    return 0;
}

Ideone

答案 1 :(得分:1)

环境变量的格式为let x = data.acceleration.x let y = data.acceleration.y let z = data.acceleration.z let roll = atan (y / sqrt(pow(x,2.0) + pow(z, 2.0))); let pitch = atan (x / sqrt(pow(y, 2.0) + pow(z, 2.0))); let yaw = atan (sqrt(pow(x, 2.0) + pow(z, 2.0))/z); 。因此,您可以查找第一个NAME=value符号并仅打印到该符号以仅获取名称。