哪种方法可用于从 C 中的文件一次读取一行?

我正在使用 fgets 函数,但它不起作用。
它只读取空格分隔的标记。

该怎么办?

最佳答案

当您由于某种原因不能使用 fgets() 时,这应该有效。

int readline(FILE *f, char *buffer, size_t len)
{
   char c;
   int i;

   memset(buffer, 0, len);

   for (i = 0; i < len; i++)
   {
      int c = fgetc(f);

      if (!feof(f))
      {
         if (c == '\r')
            buffer[i] = 0;
         else if (c == '\n')
         {
            buffer[i] = 0;

            return i+1;
         }
         else
            buffer[i] = c;
      }
      else
      {
         //fprintf(stderr, "read_line(): recv returned %d\n", c);
         return -1;
      }
   }

   return -1;
}

关于c - 在 C 中一次读取一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2372813/

10-16 04:50