나는 c api 호출을 사용하여/etc/passwd의 모든 레코드 항목을 반복하고 싶습니다.c를 사용하여/etc/passwd의 모든 항목을 반복하는 방법은 무엇입니까?
어떻게하면됩니까?
참고 : 다른 언어로이 작업을 수행하는 방법에 대한 예제가 많이 있지만 c의 예제는 없습니다.
나는 c api 호출을 사용하여/etc/passwd의 모든 레코드 항목을 반복하고 싶습니다.c를 사용하여/etc/passwd의 모든 항목을 반복하는 방법은 무엇입니까?
어떻게하면됩니까?
참고 : 다른 언어로이 작업을 수행하는 방법에 대한 예제가 많이 있지만 c의 예제는 없습니다.
이 작은 프로그램은 나를 위해 일한 :
#include <stdio.h>
#include <pwd.h>
int main(int argc, char **argv) {
struct passwd *pw;
setpwent();
while ((pw = getpwent()) != NULL)
{
printf("%s\n", pw->pw_name);
}
endpwent();
return 0;
}
질문에 즉시 응답하는 것은 무엇입니까? 블로그에 게시 하시겠습니까? –
이것은 스레드로부터 안전하지 않습니다. 다중 스레드 환경에서이 작업을 수행해야하는 경우 대신 ['fgetpwent_r (3)'] (http://linux.die.net/man/3/getpwent_r)을 사용해보십시오. –
당신은 자신의 질문에 대한 대답에 전혀 문제가 없다는 것을 잘 알고 있습니다. @Kerrek. –
복제를이 질문을? http://stackoverflow.com/questions/18969582/how-do-i-iterate-through-all-the-entries-in-etc-passwd-using-c – dcaswell
@dcaswell 그 * this * 질문에 링크 된 ... –