wrapstdio.c

来自「让你了解Unix进程间的通信是如何实现的」· C语言 代码 · 共 73 行

C
73
字号
/* * Standard I/O wrapper functions. */#include	"unpipc.h"voidFclose(FILE *fp){	if (fclose(fp) != 0)		err_sys("fclose error");}FILE *Fdopen(int fd, const char *type){	FILE	*fp;	if ( (fp = fdopen(fd, type)) == NULL)		err_sys("fdopen error");	return(fp);}char *Fgets(char *ptr, int n, FILE *stream){	char	*rptr;	if ( (rptr = fgets(ptr, n, stream)) == NULL && ferror(stream))		err_sys("fgets error");	return (rptr);}FILE *Fopen(const char *pathname, const char *mode){	FILE	*fp;	if ( (fp = fopen(pathname, mode)) == NULL)		err_sys("fopen error");	return(fp);}voidFputs(const char *ptr, FILE *stream){	if (fputs(ptr, stream) == EOF)		err_sys("fputs error");}FILE *Popen(const char *command, const char *mode){	FILE	*fp;	if ( (fp = popen(command, mode)) == NULL)		err_sys("popen error");	return(fp);}intPclose(FILE *fp){	int		n;	if ( (n = pclose(fp)) == -1)		err_sys("pclose error");	return(n);}

⌨️ 快捷键说明

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