⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mkdir.c

📁 unix v7是最后一个广泛发布的研究型UNIX版本
💻 C
字号:
/*** make directory*/#include	<signal.h>#include	<stdio.h>int	Errors = 0;char	*strcat();char	*strcpy();main(argc, argv)char *argv[];{	signal(SIGHUP, SIG_IGN);	signal(SIGINT, SIG_IGN);	signal(SIGQUIT, SIG_IGN);	signal(SIGPIPE, SIG_IGN);	signal(SIGTERM, SIG_IGN);	if(argc < 2) {		fprintf(stderr, "mkdir: arg count\n");		exit(1);	}	while(--argc)		mkdir(*++argv);	exit(Errors!=0);}mkdir(d)char *d;{	char pname[128], dname[128];	register i, slash = 0;	pname[0] = '\0';	for(i = 0; d[i]; ++i)		if(d[i] == '/')			slash = i + 1;	if(slash)		strncpy(pname, d, slash);	strcpy(pname+slash, ".");	if (access(pname, 02)) {		fprintf(stderr,"mkdir: cannot access %s\n", pname);		++Errors;		return;	}	if ((mknod(d, 040777, 0)) < 0) {		fprintf(stderr,"mkdir: cannot make directory %s\n", d);		++Errors;		return;	}	chown(d, getuid(), getgid());	strcpy(dname, d);	strcat(dname, "/.");	if((link(d, dname)) < 0) {		fprintf(stderr, "mkdir: cannot link %s\n", dname);		unlink(d);		++Errors;		return;	}	strcat(dname, ".");	if((link(pname, dname)) < 0) {		fprintf(stderr, "mkdir: cannot link %s\n",dname);		dname[strlen(dname)] = '\0';		unlink(dname);		unlink(d);		++Errors;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -