<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()
유닉스 전용 코드, 대상 변수가 QString 가 아니거나 Qt 이외의 API와 인터페이스하는 데 사용되는 경우qgetenv()
대상 변수가 QStringqEnvironmentVariable()
대상 변수가 QByteArray 또는 std::문자열인 경우qgetenv()

참고: Unix 시스템에서 이 함수는 원본 문자열에 로캘 코덱에서 디코딩할 수 없는 임의의 이진 데이터가 포함된 경우 데이터 손실이 발생할 수 있습니다. 이 경우 qgetenv()를 대신 사용합니다. Windows에서 이 함수는 무손실입니다.

참고: 변수 이름 varName 에는 US-ASCII 문자만 포함되어야 합니다.

qputenv(), qgetenv(), qEnvironmentVariableIsSet() 및 qEnvironmentVariableIsEmpty()도 참조하세요 .

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

환경 변수 varName 의 숫자 값을 반환합니다. ok 이 null이 아닌 경우 변환 성공 여부에 따라 *oktrue 또는 false 으로 설정합니다.

와 동등합니다.

    qgetenv(varName).toInt(ok, 0)

와 동일하지만 훨씬 빠르며 예외를 발생시킬 수 없습니다.

참고: 값의 길이에는 제한이 있으며, 이는 선행 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 인코딩으로 표현할 수 없는 유니코드 문자가 포함된 경우 qgetenv()는 데이터 손실을 초래할 수 있습니다. 대신 qEnvironmentVariable()를 사용하세요. Unix 시스템에서는 이 함수가 무손실입니다.

참고: 이 함수는 스레드에 안전합니다.

qputenv(), qEnvironmentVariable(), qEnvironmentVariableIsSet() 및 qEnvironmentVariableIsEmpty()도 참조하세요 .

bool qputenv(const char *varName, QByteArrayView value)

이 함수는 varName 이라는 환경 변수의 value 을 설정합니다. 변수가 존재하지 않으면 변수를 생성합니다. 변수를 설정할 수 없는 경우 0을 반환합니다.

빈 값으로 qputenv를 호출하면 Windows에서는 환경 변수가 제거되고, Unix에서는 환경 변수가 설정됩니다(하지만 비어 있습니다). 완전히 이식 가능한 동작을 위해서는 qunsetenv()를 사용하는 것이 좋습니다.

참고: qputenv()는 VC2005(및 이후 버전)에서 표준 C 라이브러리의 putenv()가 더 이상 사용되지 않아 도입되었습니다. qputenv()는 VC에서 대체 함수를 사용하고, 다른 모든 플랫폼에서는 표준 C 라이브러리의 구현을 호출합니다.

참고: 6.5 이전 Qt 버전에서 value 인자는 QByteArrayView 이 아닌 QByteArray 이었습니다.

qgetenv() 및 qEnvironmentVariable()도 참조하십시오 .

bool qunsetenv(const char *varName)

이 함수는 환경에서 varName 변수를 삭제합니다.

성공하면 true 을 반환합니다.

qputenv(), qgetenv() 및 qEnvironmentVariable()도 참조하세요 .

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.