这个GetLine函数做什么?

  • 本文关键字:GetLine 函数 这个 c
  • 更新时间 :
  • 英文 :

void GetLine(FILE *fp)
{   
char one_char;
one_char = fgetc(fp);
do
{
one_char = fgetc(fp);
} while (!feof(fp) && one_char != 10);
}

谁能详细解释一下这段代码是做什么的?

FILE *fp
...
fscanf(fp, "%d %d", &inull, &nbmat);
GetLine(fp);
for (i = 0; i < nbmat; i++)
{
fscanf(fp, "%d %d", &tcode, &n);
...

文件如下:

1 12 Description of $CODE
20012 1 Compressibility of fluid 0
0.0
...

我知道步骤:

  1. 第一个fscanf读取文件号1 12到infull和nbmat;
  2. GetLine跳转到下一行?
  3. for loop: i=0—>11;
  4. 第二fscanf读取文件编号20012 1到tcode和n ??…

我想知道GetLine是做什么的。

我想知道GetLine做什么;

假设一切正常,它将从当前位置跳到下一行的开头,一个字符一个字符地向前读取,直到到达ascii值10,也就是。"linefeed".

正如William Pursell评论的那样,它不是很健壮:

如果读取的第一个字符是换行符,它将丢弃它和下一个字符。如果有一个读错误,它可能会无限循环。从样例输入来看,它似乎打算使用输入中的注释。-

它读入程序的行被丢弃,而不是保存在任何地方。

相关内容

  • 没有找到相关文章

最新更新