C语言 <stdio.h> fseek() 函数

  • 描述

    C库函数int fseek(FILE * stream,long int offset,int whence)将流的文件位置设置为给定的offset。
  • 声明

    以下是fseek()函数的声明。
    
    int fseek(FILE *stream, long int offset, int whence)
    
    参数
    • stream- 这是指向标识流的FILE对象的指针。
    • offset- 这是要从其偏移的字节数。
    • whence- 这是添加偏移量的位置。它由以下常量之一指定-
      • SEEK_SET - 文件开始
      • SEEK_CUR - 文件指针的当前位置
      • SEEK_END - 文件结束
  • 返回值

    如果成功,此函数将返回零,否则将返回非零值。
    示例
    以下示例显示fseek()函数的用法-
    
    #include <stdio.h>
    
    int main () {
       FILE *fp;
    
       fp = fopen("file.txt","w+");
       fputs("This is cainiaoya.com", fp);
      
       fseek( fp, 7, SEEK_SET );
       fputs(" C Programming Language", fp);
       fclose(fp);
       
       return(0);
    }
    
    让我们编译并运行上述程序,它将创建具有以下内容的文件file.txt。最初,程序创建文件并写入文件,这是cainiaoya.com,但后来我们从头开始将写指针重置在第7个位置,并使用puts()语句将以下内容覆盖文件-
    
    This is C Programming Language
    
    现在,让我们使用以下程序查看以上文件的内容:
    
    #include <stdio.h>
    
    int main () {
       FILE *fp;
       int c;
    
       fp = fopen("file.txt","r");
       while(1) {
          c = fgetc(fp);
          if( feof(fp) ) {
             break;
          }
          printf("%c", c); 
       }
       fclose(fp);
       return(0);
    }
    
    让我们编译并运行上述程序以产生以下结果-
    
    This is C Programming Language