main()の第3引数にchar *envp[]を指定するのはポータブルか?
2023-10-18 07:48:44
質問
で環境変数を取得するために
C
プログラムでは、次のように使うことができます。
-
getenv()
-
extern char **environ;
しかし、上記以外で
char *envp[]
を第三引数として
main()
として、標準の一部とみなされる環境変数を取得することができますか?
#include <stdio.h>
int main(int argc, char *argv[], char *envp[])
{
while(*envp)
printf("%s\n",*envp++);
}
は
char *envp[]
はポータブルか?
どのように解決するのですか?
関数
getenv
はC標準によって指定された唯一のものです。関数
putenv
と、外部からの
environ
は POSIX 固有のものです。
EDIT
この
main
パラメータ
envp
はPOSIXでは規定されていませんが、広くサポートされています。
環境リストにアクセスする別の方法は、main()関数に を第3引数として宣言することです。
int main(int argc, char *argv[], char *envp[])
この引数はenvironと同じように扱うことができます。 この引数のスコープはmain()のローカルなものであるという違いがあります。この機能はUNIXシステムで広く実装されていますが この機能はUNIXシステムで広く実装されていますが、その使用は避けるべきでしょう。 スコープの制限に加え SUSv3 では規定されていない .
関連
-
error: '.' トークンの前にunqualified-idを指定する必要があります。
-
赤線の位置は必ずしも間違っていない:式は変更可能なlvalueでなければならないエラーは、この文とは別の場所に存在する可能性があります。
-
[C] Error [Error] 代入の左オペランドとして lvalue が必要です。
-
[解決済み] Code::Blocks アプリケーションをコンパイルできない
-
[解決済み] ⑭と⑯は何のためにあるのですか?
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] Could not find or load main class "とはどういう意味ですか?
-
[解決済み] Cコードの単体テスト【終了しました
-
[解決済み] CとC++でmain()は何を返すべきですか?
-
[解決済み] Pythonで現在のユーザー名を取得するポータブルな方法はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
#137: 式は変更可能なlvalueでなければならない問題 // 文字列配列の代入問題
-
[解決済み] envpとは何の略ですか?[クローズド]
-
[解決済み] Linuxカーネルにおけるcontainer_ofマクロの理解
-
[解決済み] C - Setデータ構造を実装するには?
-
[解決済み] C言語のコードで「:-!」とは何ですか?
-
[解決済み] CとC++でmain()は何を返すべきですか?
-
[解決済み] アセンブリがCより速いのはどんなとき?[クローズド]
-
[解決済み] C 言語の配列へのポインタ/ポインタの配列の曖昧さ解消
-
[解決済み】C++で関数の中に関数を持つことは可能か?
-
[解決済み] main(int argc, char *argv[])' [重複]について