[prev] 49 [next]

Exercise 5: Buffered I/O Implementation

Build a buffered i/o library like stdio
  • MyFile *myfOpen(char *name, char mode)
    • name is file path;  mode is 'r' or 'w'
  • int myfGetc(MyFile *fp) ... return value is char or EOF
  • myfPutc(MyFile *fp, char ch) ... append ch to fp's stream
  • void myfClose(MyFile *fp) ... close an open file
Assume a data structure like

MyFile ≡
{ char mode; int pos; int nc; char *buffer; }