<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() |
出力先変数がQString | qEnvironmentVariable() |
出力先変数がQByteArray または std::string | qgetenv() |
注意: 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 でない場合、変換の成功に応じて*ok
をtrue
またはfalse
に設定する。
と同等。
qgetenv(varName).toInt(ok, 0)
と同等ですが、より高速で、例外をスローできません。
注意: 値の長さには制限があり、先頭のゼロや空白を除いたintのすべての有効な値に対して十分です。長すぎる値は切り捨てられるか、この関数はok をfalse
に設定する。
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)
この関数は、環境変数varName のvalue を設定する。変数が存在しない場合は作成される。変数を設定できなかった場合は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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。