putpwent()함수는 stream에 연결된 파일에
패스워드 구조체 정보p를 이용해서 패스워드내용을
추가한다.
passwd구조체는 <pwd.h>에 다음과 같이 정의되어 있다.
struct passwd {
char *pw_name; /* user name */
char *pw_passwd; /* user password */
uid_t pw_uid; /* user id */
gid_t pw_gid; /* group id */
char *pw_gecos; /* real name */
char *pw_dir; /* home directory */
char *pw_shell; /* shell program */
};
fopen()을 통하여 파일을 열때 "w"로 열지 않도록 주의해야 한다. 그럴 경우 기존 파일의
내용을 모두 잃어버리게 된다.
그리고 위의 프로그램은 작동방식만을 설명하는 수준의 프로그램이다. 제대로 작동하도록
만들려면 getpwent(3)등의 함수를 이용해서 패스워드 목록을 가져오고 중복된 이름이 있는지
확인하고, uid와 gid를 결정하는 등의 루틴이 포함되어야 한다. putpwent()함수는 uid와 gid를
결정해 주지 않기 때문이다.
1장. putpwent
유저 패스워드 정보를 파일에 쓴다.
1.1. 사용법
1.2. 설명
putpwent()함수는 stream에 연결된 파일에 패스워드 구조체 정보p를 이용해서 패스워드내용을 추가한다.
passwd구조체는 <pwd.h>에 다음과 같이 정의되어 있다.
1.3. 반환값
성공할경우 0을 실패했을경우에는 -1을 반환하며, 적당한 errno 값을 설정한다.
1.4. 에러
잘못된 값이 인자로 사용되었다.
1.5. 예제
그리고 위의 프로그램은 작동방식만을 설명하는 수준의 프로그램이다. 제대로 작동하도록 만들려면 getpwent(3)등의 함수를 이용해서 패스워드 목록을 가져오고 중복된 이름이 있는지 확인하고, uid와 gid를 결정하는 등의 루틴이 포함되어야 한다. putpwent()함수는 uid와 gid를 결정해 주지 않기 때문이다.
1.6. 참고문헌
getopt를 이용한 프로그램 인자처리
Recent Posts
Archive Posts
Tags