1

stdlib関数 を使用してユーザー名を取得したいgetenv ()しかし、私はいつもNULLここに私が書いたコードがあります:

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

 main()
 {

 char *hai;
 printf("The current User name is\n");
 hai="USER";
 printf("%s\n",getenv(hai));


exit(0);
}

返される値は、コードのコンパイルに使用しているマシンによって異なりますか?getenv ()また、返される値が.NULL

4

2 に答える 2

2

Windows では、getenv("USERNAME"). USER/USERNAME環境変数は標準化されておらず、自分で設定しない限り、Windows で名前が付けられた環境変数は見つかりませんUSER

于 2014-02-06T03:49:48.830 に答える
1

このページgetenv()では、「要求された環境変数の値を含む C 文字列、またはそのような環境変数が存在しない場合は null ポインター」の戻り値について説明しています。

「USER」環境変数が設定されていないようです。setコマンドラインで入力すると表示されますか?

于 2014-02-06T03:49:34.820 に答える