C 獲取linux和windows系統的使用者名稱

2021-08-15 13:27:55 字數 1644 閱讀 4003

(1)獲取linux系統的使用者名稱:

通過 structpasswd *getpwuid(uid_t uid)函式;  該函式返回passwd結構體,此結構體中包含使用者名字段

structpasswd ;

(2)獲取windows系統的使用者名稱:

通過getusername( buffer , &len ) 函式

(3)完整的例項(跨平台):

[cpp]view plain

copy

#include 

#include 

#ifdef linux

#include 

#include 

#endif

#ifdef _win32

#include

#endif

std::string getusername()  

intmain()  

(4)linux系統上gcc編譯執行截圖

(5)linux下的四個簡單函式介紹:getpid, getppid, getuid, getgid

#include int main()  

結果為:

[taoge@localhost learn_c]$ echo $$

2774

[taoge@localhost learn_c]$ id

uid=501(taoge) gid=502(taoge) groups=502(taoge),501(embed)

[taoge@localhost learn_c]$ ./a.out 

pid:2898, ppid:2774, uid:501, gid:502

[taoge@localhost learn_c]$ su root

password: 

[root@localhost learn_c]# echo &&

[root@localhost learn_c]# id

uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

[root@localhost learn_c]# ./a.out 

pid:2922, ppid:2905, uid:0, gid:0

[root@localhost learn_c]# su taoge

[taoge@localhost learn_c]$ echo $$

2928

[taoge@localhost learn_c]$ id

uid=501(taoge) gid=502(taoge) groups=502(taoge),501(embed)

[taoge@localhost learn_c]$ ./a.out 

pid:2946, ppid:2928, uid:501, gid:502

[taoge@localhost learn_c]$ 

#include #include void getuserandpid()

Window和Linux系統下獲取U盤UUID

注意 u盤每次格式化後會重新獲得uuid。u盤uuid一般是8位字串。執行以下批處理就可以獲得u盤的uuid echo off for f tokens 2 delims a in wmic logicaldisk where drivetype 2 get volumeserialnumber v...

定時從linux獲取資訊放到windows上

環境 windows上 路徑下存放 winscp 5.13.8 setup.exe 第一步 test.txt 拉取指令碼的txt文字 解析 存放從linux路徑下拉取所需原始檔zyy count.result 到本地windows的目標路勁改下 d zyy xnresult option echo ...

C 獲取滑鼠處的視窗 window 控制代碼

自上次發布 qq訊息自動傳送器 也有一段時間了,一直沒有寫api相關的文章了,今天再發布乙個做api相關開發的輔助小工具,以前也提到過,win32平台是基於訊息message的機制,基本上所有的任務,都是可以利用訊息捕獲的。說明 在訊息機制中,所謂的 視窗控制代碼 中的視窗,並不是指我們開發人員接觸...