separate getc/putc from fgetc/fputc