示例#1
0
int fgetc(FILE* f)
{
#ifndef _LINUX
  int c = __fgetc(f);
  if (f->flags & _IOBINARY)
    return c;
  for (;;)
  {
    if (c != '\r') // drop '\r'
      return c;
    c = __fgetc(f);
  }
#else
  return __fgetc(f);
#endif
}
示例#2
0
文件: fgets.c 项目: kristapsk/resclib
char* __fgets (char* str, int num, FILE* stream)
{
    char* ptr = str;
    while (num-- > 1) {
        char c = __fgetc(stream);
        if (c == EOF) {
            break;
        }
        *ptr++ = c;
    }
    if (ptr != str) {
        *ptr = '\0';
        return str;
    }
    else {
        return NULL;
    }
}