演習4-7 K&R プログラミング言語C
2010年01月13日
演習4-7
#include <stdio.h> #include <string.h> #define BUFSIZE 100 char buf[BUFSIZE]; /* ungetch 用のバッファ */ int bufp = 0; /* buf 中の次の空き位置 */ int getch(void); void ungetch(int c); void ungets(char s[]); int main(void) { char s[] = "hello, world."; int c; ungets(s); while ((c = getch()) != EOF) { putchar(c); } return 0; } int getch(void) /* (押し戻された可能性もある)1文字をとってくる */ { return (bufp > 0) ? buf[--bufp] : getchar(); } void ungetch(int c) { if (bufp >= BUFSIZE) { printf("ungetch: too many characters\n"); } else { buf[bufp++] = c; } } void ungets(char s[]) { int l = strlen(s); while (l > 0) { ungetch(s[--l]); } }
プログラミング言語C 第2版 ANSI規格準拠
posted with amazlet at 09.11.27
B.W. カーニハン D.M. リッチー
共立出版
売り上げランキング: 9726
共立出版
売り上げランキング: 9726