MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Qtの基礎 - 環境変数の取得のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Qtの基礎 - 環境変数の取得
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == Qtにおいて、システムの環境変数を取得する手順について記載する。<br> <br><br> == qgetenv関数 == 以下の例では、環境変数<code>USER</code>(または、<code>USERNAME</code>)を取得している。<br> <syntaxhighlight lang="c++"> int main(int argc, char *argv[]) { QString name = qgetenv("USER"); // Linux or MacOS if(name.isEmpty()) { // Windows name = qgetenv("USERNAME"); } std::cout << name << std::endl; return 0; } </syntaxhighlight> <br><br> == QStandardPaths関数 == <code>QStandardPaths</code>関数は、異なるユーザのホームディレクトリを取得することはできない。<br> <br> 以下の例では、現在ログインしているユーザのホームディレクトリのフルパスを取得している。<br> <syntaxhighlight lang="c++"> #include <QStandardPaths> int main(int argc, char *argv[]) { QStringList homePath = QStandardPaths::standardLocations(QStandardPaths::HomeLocation); std::cout << homePath.first().split(QDir::separator()).last(); return 0; } </syntaxhighlight> <br><br> == 外部プロセスの実行およびプラットフォーム固有のAPI == 上記の環境変数やホームディレクトリの取得のように、ソフトウェアの下で簡単に変更できないため、最も信頼性が高い方法である。<br> <br> Linuxにおいて、QProcessクラスを使用してwhoamiコマンドを呼び出す。<br> Windowsでは、[http://msdn.microsoft.com/en-gb/library/windows/desktop/ms724432%28v=vs.85%29.aspx GetUserName WinAPI]を使用する。<br> <syntaxhighlight lang="c++"> #include <QCoreApplication> #include <QProcess> int main(int argc, char *argv[]) { // Strictly pseudo code! #ifdef Q_OS_WIN char acUserName[MAX_USERNAME]; DWORD nUserName = sizeof(acUserName); if (GetUserName(acUserName, &nUserName)) { std:cout << acUserName << std::endl; } return 0; #elif Q_OS_UNIX QCoreApplication coreApplication(argc, argv); QProcess process; QObject::connect(&process, &QProcess::finished, [&coreApplication, &process](int exitCode, QProcess::ExitStatus exitStatus) { std::cout << process.readAllStandardOutput() << std::endl; coreApplication.quit(); }); process.start("whoami"); return coreApplication.exec(); #endif } </syntaxhighlight> <br><br> __FORCETOC__ [[カテゴリ:Qt]]
Qtの基礎 - 環境変数の取得
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse