ch08-mounted.c

来自「linux编程精髓 源代码」· C语言 代码 · 共 70 行

C
70
字号
/* ch08-mounted.c --- print a list of mounted filesystems *//* NOTE: GNU/Linux specific! */#include <stdio.h>#include <errno.h>#include <mntent.h>	/* for getmntent(), et al. */#include <unistd.h>	/* for getopt() */void process(const char *filename);void print_mount(const struct mntent *fs);char *myname;/* main --- process options */int main(int argc, char **argv){	int c;	char *file = "/etc/mtab";	/* default file to read */	myname = argv[0];	while ((c = getopt(argc, argv, "f:")) != -1) {		switch (c) {		case 'f':			file = optarg;			break;		default:			fprintf(stderr, "usage: %s [-f fstab-file]\n", argv[0]);			exit(1);		}	}	process(file);	return 0;}/* process --- read struct mntent structures from file */void process(const char *filename){	FILE *fp;	struct mntent *fs;	fp = setmntent(filename, "r");	/* read only */	if (fp == NULL) {		fprintf(stderr, "%s: %s: could not open: %s\n",			myname, filename, strerror(errno));		exit(1);	}	while ((fs = getmntent(fp)) != NULL)		print_mount(fs);	endmntent(fp);}/* print_mount --- print a single mount entry */void print_mount(const struct mntent *fs){	printf("%s %s %s %s %d %d\n",		fs->mnt_fsname,		fs->mnt_dir,		fs->mnt_type,		fs->mnt_opts,		fs->mnt_freq,		fs->mnt_passno);}

⌨️ 快捷键说明

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