LinuxSir.cn,穿越时空的Linuxsir!

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

为什么不能读/dev/klog

[复制链接]
发表于 2004-3-7 17:57:15 | 显示全部楼层 |阅读模式

  1. #include <unistd.h>
  2. #include <sys/stat.h>
  3. #include <sys/types.h>
  4. #include <syslog.h>
  5. #include <fcntl.h>
  6. #define MAXLINE 1024
  7. int
  8. main(void)
  9. {
  10.   int fd,n;
  11.   char buf[MAXLINE] ;
  12.   if((fd=open("/dev/klog",O_RDONLY))<0) {
  13.         printf("open /dev/klong error\n");
  14.         return(1);
  15.   }
  16.   while((n=read(fd,buf,MAXLINE))>0) {
  17.         putc(n,STDOUT_FILENO);
  18.   }
  19.   if(n<0) {
  20.         printf("read fd error\n");
  21.         return(2);
  22.   }
  23.   close(fd);
  24.   return(0);
  25. }
复制代码

最后的结果是code dump ??怎么读/dev/klog

system: FreeBSD 4.8
发表于 2004-3-7 21:21:57 | 显示全部楼层
putc(n,STDOUT_FILENO);
第一个参数是字符串,第二个参数是文件指针

read读入的数据一般应该用write写出,
不清楚的话最好不要混用标准库和系统调用
发表于 2004-3-9 11:55:44 | 显示全部楼层
好*阿!
 楼主| 发表于 2004-3-9 12:16:16 | 显示全部楼层
懂了!thanks
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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