#include <stdio.h> int putc(int c, FILE *f);
putc
writes a single character c
to the stream associated with the
FILE
object addressed by f
.
putc
returns the output character or EOF
if an error occurs.
putc
is implemented as a built-in function. A subroutine call is
executed only if no output buffer is allocated, the output buffer is full, or a
control character is written.
The code generated for putc
normally includes tests for a NULL
FILE
pointer and for a stream that failed to open. If you define the
symbol _FASTIO
using #define
or the DEFine
compiler option
before including <stdio.h>
, no code is generated for these checks. This
enables you to improve the performance of debugged programs that use putc
.
#include <stdio.h> #include <string.h> #include <stdlib.h> #define _FASTIO /* Improve getc/putc performance. */ main() { FILE *infile, *outfile; char filename[60]; int c; puts("Enter the name of your input file:"); memcpy(filename, "tso:", 4); gets(filename+4); infile = fopen(filename, "r"); if (!infile){ puts("Failed to open input file."); exit(EXIT_FAILURE); } puts("Enter the name of your output file:"); memcpy(filename, "tso:", 4); gets(filename+4); outfile = fopen(filename, "w"); if (!outfile){ puts("Failed to open output file."); exit(EXIT_FAILURE); } for (;;){ c = getc(infile); if (c == EOF) break; c = putc(c, outfile); if (c == '.') putc(' ', outfile); } fclose(infile); fclose(outfile); }
fputc
, putchar
Copyright (c) 1998 SAS Institute Inc. Cary, NC, USA. All rights reserved.