34 getgrgid()函數的功能是什麼?
(A) 取得群組名稱
(B) 根據I D取得群組資訊
(C) 修改群組I D
(D) 建立新群組

答案:登入後查看
統計: A(2), B(4), C(1), D(1), E(0) #3399881

詳解 (共 2 筆)

#7318884

【第一步:找關鍵字】

關鍵字:

  • getgrgid()

  • gr(group)

  • gid(group ID)

? 這題一樣是「拆函數名稱」就能解

【第二步:白話翻譯】

這題在問:

? 「給你一個群組 ID(gid),getgrgid() 會幫你做什麼?」

【第三步:解題思路】

這題在考什麼觀念?

? Linux 系統帳號 / 群組查詢函數

解題步驟

  1. 拆函數名稱

    • get = 取得

    • gr = group(群組)

    • gid = 群組 ID

  2. 推論功能
    → 用 gid 找群組資料

原理與規則(生活比喻)

把群組想成「班級」:

  • gid = 班級編號

  • group info = 班級資料(名稱、成員等)

? getgrgid() 就是:

? 「用班級編號查班級資料」

【第四步:選項分析】

(A) 為什麼錯?

✘ 錯

? 不只是取得名稱

? 是取得「整個群組資訊」

(B) 為什麼對?

✔ 正確(本題答案)

? getgrgid():

根據群組 ID(gid)取得群組資訊(struct group)

(C) 為什麼錯?

✘ 錯

修改 gid 是:

? 系統管理操作,不是這個函數

(D) 為什麼錯?

✘ 錯

建立群組是:

? useradd / groupadd 等指令

【觀念補充與延伸】

核心觀念定位

? 系統程式 / 使用者與群組管理
? 基本但常考

相關函數整理

函數 功能
getgrgid() 用 gid 查群組
getgrnam() 用名稱查群組

回傳內容(重要)

ㅤㅤ
struct group {
char *gr_name; // 群組名稱
gid_t gr_gid; // 群組ID
char **gr_mem; // 成員列表
};
ㅤㅤ

? 不是只拿名字!

觸類旁通(舉一反三)

對比概念

  • getpwuid() → 用 uid 查使用者

  • getgrgid() → 用 gid 查群組

變化題型

  • 問:getgrnam() 是做什麼?
    ? 用名稱查群組資訊

【記憶口訣】

? 「gid 查 group → getgrgid」

【常見陷阱】

學生最容易搞混的地方

以為只回傳名稱

心理盲點

看到 get 就只想到單一值

避坑指南

? 記住:

這類函數回傳的是「結構(struct)」不是單一資料

0
0
#6786489
1. 題目解析 本題詢問的是 getg...
(共 1083 字,隱藏中)
前往觀看
0
0