GTK Gossip: 環境資訊

要撰寫一個可以跨平台的程式(無論是要重新編譯或基於虛擬機器即時執行),與環境相關的資訊如何設定與取得是必須解決的,例如使用者家(home)路徑、暫存路徑、主機資訊等,這些相關資訊,可以使用GLib的 Miscellaneous Utility Functions 中所提供的函式來取得。

以下的範例程式示範了幾個環境資訊的取得,以及環境變數的取得與設定:

  • environment_info_demo.c
#include <glib.h>

int main(int argc, char *argv[]) {
printf("Host name/t: %s/n", g_get_host_name());
// 取得使用者真實姓名
printf("Real name/t: %s/n", g_get_real_name());
// 取得使用者帳號名稱
printf("User name/t: %s/n", g_get_user_name());
// 取得目前所在路徑
printf("Current dir/t: %s/n", g_get_current_dir());
// 取得使用者家目錄
printf("Home dir/t: %s/n", g_get_home_dir());
// 取得暫存目錄
printf("Temp dir/t: %s/n", g_get_tmp_dir());
// 取得PATH環境變數
printf("PATH/t/t: %s/n", g_getenv("PATH"));
// 設定CLASSPATH環境變數,FALSE表示若已設定則不覆寫
g_setenv("CLASSPATH", "D://Temp", FALSE);
// 取得CLASSPATH環境變數
printf("CLASSPATH/t: %s/n", g_getenv("CLASSPATH"));
// 取消CLASSPATH環境變數
g_unsetenv("CLASSPATH");
printf("CLASSPATH/t: %s/n", g_getenv("CLASSPATH"));

return 0;
}


一個執行結果如下所示:

Host name       : CATERPILLAR-PC
Real name       : caterpillar
User name       : caterpillar
Current dir     : D:/Temp
Home dir        : C:/Users/caterpillar
Temp dir        : C:/Users/CATERP~1/AppData/Local/Temp
PATH            : C:/Windows/system32;C:/Windows;C:/Windows/System32/Wbem;C:/Pro
gram Files/ASUS Security Center/ASUS Security Protect Manager/bin;C:/Program Fil
es/Java/jdk1.6.0_07/bin;C:/Winware/MinGW/bin;C:/Winware/Qt/4.3.3/bin;C:/Winware/
Gtk/bin
CLASSPATH       : D:/Temp
CLASSPATH       : (null)




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值