LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 888|回复: 11

怎么运行APUE的10-2?

[复制链接]
发表于 2004-1-11 13:23:55 | 显示全部楼层 |阅读模式
照抄程序。
但运行到这里就退出了。??
# cat 10.2.c|head -n 15
  1. #include <pwd.h>
  2. #include <signal.h>
  3. #include "ourhdr.h"
  4. static void my_alarm(int);
  5. int
  6. main(void)
  7. {
  8.   struct passwd *ptr;
  9.   signal(SIGALRM,my_alarm);
  10.   alarm(1);
  11.   for( ; ; ) {
  12.        if((ptr=getpwnam("stevens"))==NULL)
  13.              err_sys("getpwnam error");
  14.        if(strcmp(ptr->pw_name,"stevens") != 0)
  15.              printf("return value corrupted!,pw_name = %s\n",
  16. # ./10.2
  17. getpwnam error: Success
  18. #
复制代码


why?? !!!:help :thank
发表于 2004-1-11 13:34:38 | 显示全部楼层
呵呵,先好好看看程序嘛,
if((ptr=getpwnam("stevens"))==NULL)
你的系统有stevens吗?
 楼主| 发表于 2004-1-11 13:39:34 | 显示全部楼层
最初由 libinary 发表
呵呵,先好好看看程序嘛,
if((ptr=getpwnam("stevens"))==NULL)
你的系统有stevens吗?


:thank
请问什么是stevens?我使我的系统有?:help :help 一般特殊的变量都用大写的,这里怎么会用小写。
发表于 2004-1-11 13:56:39 | 显示全部楼层
哈哈,
你看一下man getpwnam或APUE的第6章,getpwnam是按用户名取用户在/etc/password里的记录的,stevens是老大的登录名
 楼主| 发表于 2004-1-11 14:02:46 | 显示全部楼层
无限惭愧中。。。。。。。。
原来是getpasswdname.....
不过真巧啊。。。老大的马甲?
发表于 2004-1-11 14:09:35 | 显示全部楼层
你忘了APUE是谁写的了吗
 楼主| 发表于 2004-1-11 14:22:48 | 显示全部楼层
最初由 libinary 发表
你忘了APUE是谁写的了吗

:0
我一直没有注意书的作者,我以为是北南老大的马甲名捏,原来是作者名,我又弄错了。 :confused: :confused:

向stevens致敬一下。。。
发表于 2004-1-12 14:25:13 | 显示全部楼层
经典,hoh
发表于 2004-1-13 10:08:27 | 显示全部楼层
呵呵,不过搂主看的满快的嘛。已经看到第10章了啊
 楼主| 发表于 2004-1-13 16:38:38 | 显示全部楼层
最初由 dancingpig 发表
呵呵,不过搂主看的满快的嘛。已经看到第10章了啊


我没有认真看,就看懂一次就算过了。等需要再回头看。。

那书译得不好,有些句子要看多几次才能明白。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表