哪种方法可用于从 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/