簡體   English   中英

在C中打印無值的環境變量

[英]Print the environment variables WITHOUT VALUES in C

如何在C中打印環境變量,但沒有值? 僅變量。

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

由於環境變量的格式為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

環境變量的形式為NAME=value 因此,您可以查找第一個=符號,並僅打印直到它才獲得名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM