
posix_getpwnam 함수는 사용자 이름을 입력받아 해당 사용자의 정보를 반환하는 함수입니다.
이 함수의 사용법은 다음과 같습니다.
#hostingforum.kr
c
struct passwd *posix_getpwnam(const char *name);
첫 번째 인자 `name`은 사용자 이름을 입력받습니다.
이 함수가 성공적으로 작동하는 경우, 해당 사용자의 정보를 포함하는 `struct passwd` 구조체를 반환합니다.
이 함수가 실패할 경우, NULL 값을 반환합니다.
이 함수가 실패할 경우의 에러 코드는 다음과 같습니다.
- `ERANGE`: 사용자 이름이 너무 길다.
- `ENOENT`: 사용자 이름이 존재하지 않는다.
- `EINVAL`: 사용자 이름이 유효하지 않다.
posix_getpwnam 함수가 NULL 값을 반환할 수 있는 경우는 다음과 같습니다.
- 사용자 이름이 존재하지 않는 경우
- 사용자 이름이 유효하지 않은 경우
- 사용자 이름이 너무 길 경우
예를 들어, 사용자 이름이 'john'인 사용자의 정보를 얻으려면 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
#include
#include
int main() {
struct passwd *pw;
char *name = "john";
pw = posix_getpwnam(name);
if (pw != NULL) {
printf("UID: %dn", pw->pw_uid);
printf("GID: %dn", pw->pw_gid);
printf("홈 디렉토리 경로: %sn", pw->pw_dir);
printf("사용자 이름: %sn", pw->pw_name);
printf("그룹 이름: %sn", pw->pw_gecos);
} else {
printf("사용자 이름이 존재하지 않습니다.n");
}
return 0;
}
이 예제에서는 사용자 이름 'john'의 정보를 얻어 UID, GID, 홈 디렉토리 경로, 사용자 이름, 그룹 이름을 출력합니다.
2025-03-16 16:32