当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]求教各样编程老手
帖子发表于 : 2006-09-28 23:18 

注册: 2006-09-27 23:06
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/sysmacros.h>
#include <unistd.h>
void usage(void){
fprintf(stderr,"usage:mknod <path>{b|c|u|p]","<major><minor>\n");
exit(1);
}
int main(int argc,const char **argv){
int major=0,minor=0;
const char *path;
int mode=0666;
char *end;
int args;
if(argc<3)usage();
path=argv[1];
if(!strcmp(argv[2],"b")){
mode|=S_IFBLK;
args=5;
}else if(!strcmp(argv[2],"c")||!strcmp(argv[2],"u")){
mode|=S_IFCHR;
args=5;
}else if(!strcmp(argv[2],"p")){
mode|=S_IFIFO;
args=3;
}else{
fprintf(stderr,"unknown node type %s\n",argv[2]);
return 1;
}
if(argc!=args)usage();
if(args==5){
major=strtol(argv[3],&end,0);
if(*end){
fprintf(stderr,"bad major number %s\n",argv[3]);
return 1;
}
minor=strtol(argv[4],&end,0);
if(*end){
fprintf(stderr,"bad minor number %s\n",argv[4]);
return 1;
}
}
if(mknod(path,mode,makedev(major,minor))){
fprintf(stderr,"mknod failed:%s\n",strerror(errno));
return 1;
}
return 0;
}
该程序是建立管道的,但俺有几句看不懂,不知其作用是什么?求各位老大解答:
mode|=S_IFCHR;这几句的作用是什么啊?俺想了很久了唉,郁闷ing :cry:


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2006-09-30 1:08 
头像

注册: 2006-09-14 21:59
帖子: 238
地址: 广东
送出感谢: 0 次
接收感谢: 0 次
x |= y;即x = x | y;
|即按位或


_________________
传说中的一凡……


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译