|
我编了一个显示用户信息的c程序,没有语法错误,结果执行时出现如下错误:
代码:
/* getname.c -Get login names */
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<unistd.h>
#include<pwd.h>
int main(void)
{
char *login;
struct passwd *pentry;
/* Get the login name */
if((login=getlogin())==NULL) {
perror("getlogin");
exit(EXIT_FAILURE);
}
/* Display the password entry for login */
if((pentry=getpwnam(login))==NULL) {
perror("getpwnam");
exit(EXIT_FAILURE);
}
/* Display the password entry */
printf("user name: %s\n", pentry->pw_name);
printf("UID : %s\n", pentry->pw_uid);
printf("GID : %s\n", pentry->pw_gid);
printf("home dir : %s\n", pentry->pw_dir);
exit(EXIT_SUCCESS);
}
执行结果:
user name: chenchenfedora
段错误
请问是什么原因呢? |
|