<QtEnvironmentVariables>プロキシページ

関数

QString qEnvironmentVariable(const char *varName)
QString qEnvironmentVariable(const char *varName, const QString &defaultValue)
int qEnvironmentVariableIntValue(const char *varName, bool *ok = nullptr)
bool qEnvironmentVariableIsEmpty(const char *varName)
bool qEnvironmentVariableIsSet(const char *varName)
QByteArray qgetenv(const char *varName)
bool qputenv(const char *varName, QByteArrayView value)
bool qunsetenv(const char *varName)

関数の説明

QString qEnvironmentVariable(const char *varName)

QString qEnvironmentVariable(const char *varName, const QString &defaultValue)

これらの関数は、環境変数varName の値をQString として返します。環境変数varName が見つからず、defaultValue が指定された場合は、defaultValue が返されます。それ以外の場合は QString() が返されます。

Qt の環境操作関数はスレッドセーフですが、そのためには getenv や putenv のような C ライブラリの同等関数を直接呼び出さない必要があります。

次の表は、qgetenv() とqEnvironmentVariable() のどちらを選ぶかを説明しています:

条件推奨
変数にファイル・パスまたはユーザー・テキストが含まれているqEnvironmentVariable()
Windows固有のコードqEnvironmentVariable()
Unix 固有のコード、出力先変数がQString でない、および/または Qt 以外の API とのインターフェイスに使用されるqgetenv()
出力先変数がQStringqEnvironmentVariable()
出力先変数がQByteArray または std::stringqgetenv()

注意: Unixシステムでは、元の文字列がロケールコーデックでデコードできない任意のバイナリデータを含んでいる場合、この関数はデータロスを生じる可能性があります。その場合は、代わりにqgetenv() を使用する。Windowsでは、この関数はロスレスである。

注意: 変数名varName は、US-ASCII文字のみを含んでいなければならない。

qputenv()、qgetenv()、qEnvironmentVariableIsSet()、qEnvironmentVariableIsEmpty()も参照

QString qEnvironmentVariable(const char *varName)

QString qEnvironmentVariable(const char *varName, const QString &defaultValue)

[noexcept] int qEnvironmentVariableIntValue(const char *varName, bool *ok = nullptr)

環境変数varName の数値を返す。ok が NULL でない場合、変換の成功に応じて*oktrue またはfalse に設定する。

と同等。

    qgetenv(varName).toInt(ok, 0)

と同等ですが、より高速で、例外をスローできません。

注意: 値の長さには制限があり、先頭のゼロや空白を除いたintのすべての有効な値に対して十分です。長すぎる値は切り捨てられるか、この関数はokfalse に設定する。

qgetenv()、qEnvironmentVariable()、qEnvironmentVariableIsSet()も参照のこと

[noexcept] bool qEnvironmentVariableIsEmpty(const char *varName)

環境変数varName が空かどうかを返す。

と同じです。

    qgetenv(varName).isEmpty()

と同等ですが、より高速で例外をスローしない可能性があります。

qgetenv()、qEnvironmentVariable()、qEnvironmentVariableIsSet()も参照

[noexcept] bool qEnvironmentVariableIsSet(const char *varName)

環境変数varName が設定されているかどうかを返します。

と同じです。

    !qgetenv(varName).isNull()

と同等ですが、より高速で例外をスローしません。

qgetenv()、qEnvironmentVariable()、qEnvironmentVariableIsEmpty()も参照

QByteArray qgetenv(const char *varName)

名前varName を持つ環境変数の値をQByteArray として返します。 その名前の変数が環境内に見つからない場合、この関数はデフォルトで構築されたQByteArray を返します。

Qt の環境操作関数はスレッドセーフですが、そのためには getenv や putenv のような C ライブラリの同等の関数を直接呼び出さない必要があります。

データをQString に変換するには、QString::fromLocal8Bit() を使用します。

注意: デスクトップWindowsでは、元の文字列がANSIエンコーディングで表現できないUnicode文字を含んでいる場合、qgetenv()でデータが失われることがあります。代わりにqEnvironmentVariable() を使用する。Unixシステムでは、この関数はロスレスである。

注意:この関数はスレッドセーフです。

qputenv()、qEnvironmentVariable()、qEnvironmentVariableIsSet()、qEnvironmentVariableIsEmpty()も参照

bool qputenv(const char *varName, QByteArrayView value)

この関数は、環境変数varNamevalue を設定する。変数が存在しない場合は作成される。変数を設定できなかった場合は0を返す。

空の値を指定してqputenvを呼び出すと、Windowsでは環境変数が削除され、 Unixでは環境変数が設定される(ただし空である)。完全にポータブルな動作のためには、qunsetenv() を使うことを推奨する。

注意: qputenv() は、標準 C ライブラリの putenv() が VC2005 (およびそれ以降のバージョン) で非推奨になったために導入されました。qputenv() は VC では代替関数を使用し、その他のプラットフォームでは標準 C ライブラリの実装を呼び出します。

注意: Qt 6.5 より前のバージョンでは、value 引数はQByteArrayView ではなくQByteArray でした。

qgetenv() およびqEnvironmentVariable()も参照してください

bool qunsetenv(const char *varName)

この関数は環境変数varName を削除します。

成功するとtrue を返す。

qputenv()、qgetenv()、qEnvironmentVariable()も参照して ください。

©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。