今天按着书编写了一个小程序编译时总出现“提领指向不完全类型的指针”的错误提示源代码如下:
#include
#include
#include
#include
#include //原来没这行
int main(int argc,char **argv)
{
pid_t my_pid,parent_pid;
uid_t my_uid,my_euid;
gid_t my_gid, my_egid;
struct passwd *my_info;
my_pid=getpid();
parent_pid=getppid();
my_uid=getuid();
my_euid=geteuid();
my_gid=getgid();
my_egid=getegid();
my_info=getpwuid(my_uid);
printf("process ID:%ld\n",my_pid);
printf("parent ID:%ld\n",parent_pid);
printf("user ID:%ld\n",my_uid);
printf("Efective User ID:%ld\n",my_euid);
printf("group ID:%ld\n",my_gid);
printf("Effective Group ID:%ld\n",my_egid);
if(my_info)
{
printf("my login name:%s\n",my_info->pw_name);
printf("my password:%s\n",my_info->pw_passwd);
printf("my user id:%ld\n",my_info->pw_uid);
printf("my group id:%ld\n",my_info->pw_gid);
printf("my real name:%s\n",my_info->pw_gecos);
printf("my home dir:%s\n",my_info->pw_dir);
printf("my work shell:%s\n",my_info->pw_shell);
}
}
后来上网查了一下,对于这个问题,网上也是没有什么好的解释,后来我又查了一下函数getwuid的原型得知这个函数是需要头文件#include 的,于是加上头文件重新编译,成功。
汗!!!!又是一个关于头文件的问题,看来头文件真的很重要。
阅读(6629) | 评论(1) | 转发(0) |