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

📄 buf.c

📁 unix环境高级编程第二版配套源代码 unix环境高级编程第二版配套源代码
💻 C
字号:
#include "apue.h"#if defined(MACOS)#define _IO_UNBUFFERED	__SNBF#define _IO_LINE_BUF	__SLBF#define _IO_file_flags	_flags#define BUFFERSZ(fp)	(fp)->_bf._size#else#define BUFFERSZ(fp)	((fp)->_IO_buf_end - (fp)->_IO_buf_base)#endifvoid	pr_stdio(const char *, FILE *);intmain(void){	FILE	*fp;	fputs("enter any character\n", stdout);	if (getchar() == EOF)		err_sys("getchar error");	fputs("one line to standard error\n", stderr);	pr_stdio("stdin",  stdin);	pr_stdio("stdout", stdout);	pr_stdio("stderr", stderr);	if ((fp = fopen("/etc/motd", "r")) == NULL)		err_sys("fopen error");	if (getc(fp) == EOF)		err_sys("getc error");	pr_stdio("/etc/motd", fp);	exit(0);}voidpr_stdio(const char *name, FILE *fp){	printf("stream = %s, ", name);	/*	 * The following is nonportable.	 */	if (fp->_IO_file_flags & _IO_UNBUFFERED)		printf("unbuffered");	else if (fp->_IO_file_flags & _IO_LINE_BUF)		printf("line buffered");	else /* if neither of above */		printf("fully buffered");	printf(", buffer size = %d\n", BUFFERSZ(fp));}

⌨️ 快捷键说明

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