fgets.c 280 B

1234567891011121314
  1. #include <stdio.h>
  2. __ATTR_LIB_C__ char *fgets(char *s, short n, FILE *fp)
  3. {
  4. short c=EOF;
  5. char *cs=s;
  6. while(--n>0&&(c=fgetc(fp))!=EOF)
  7. {
  8. if(c=='\r'&&!(fp->flags&_F_BIN)) c='\n';
  9. if ((*cs++=c)=='\n') break;
  10. }
  11. *cs=0;
  12. return ((c==EOF&&cs==s)?NULL:s);
  13. }