目录

int fgetpos(FILE *stream, fpos_t *pos)

描述 (Description)

C库函数int fgetpos(FILE *stream, fpos_t *pos)获取stream的当前文件位置并将其写入pos

声明 (Declaration)

以下是fgetpos()函数的声明。

int fgetpos(FILE *stream, fpos_t *pos)

参数 (Parameters)

  • stream - 这是指向标识流的FILE对象的指针。

  • pos - 这是指向fpos_t对象的指针。

返回值 (Return Value)

此函数在成功时返回零,否则在出现错误时返回非零值。

例子 (Example)

以下示例显示了fgetpos()函数的用法。

#include <stdio.h>
int main () {
   FILE *fp;
   fpos_t position;
   fp = fopen("file.txt","w+");
   fgetpos(fp, &position);
   fputs("Hello, World!", fp);
   fsetpos(fp, &position);
   fputs("This is going to override previous content", fp);
   fclose(fp);
   return(0);
}

让我们编译并运行上面的程序来创建一个文件file.txt ,它将包含以下内容。 首先,我们使用fgetpos()函数获取文件的初始位置,然后我们编写Hello, World! 在文件中,但后来我们使用fsetpos()函数重置文件开头的写指针,然后用以下内容覆盖文件 -

This is going to override previous content

现在让我们使用以下程序查看上述文件的内容 -

#include <stdio.h>
int main () {
   FILE *fp;
   int c;
   int n = 0;
   fp = fopen("file.txt","r");
   while(1) {
      c = fgetc(fp);
      if( feof(fp) ) {
         break ;
      }
      printf("%c", c);
   }
   fclose(fp);
   return(0);
}

让我们编译并运行以上程序以产生以下结果 -

This is going to override previous content
↑回到顶部↑
WIKI教程 @2018