打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
fsetpos()详解

函数原型:int fsetpos(FILE *fp, const fpos_t *pos);

头文件:#include<stdio.h>

是否是标准函数:是

函数功能:将文件指针定位在pos指定的位置上。该函数的功能与前面提到的fgetpos相反,是将文件指针fp按照pos指定的位置在文件中定位。pos值以内部格式存储,仅由fgetposfsetpos使用。

返回值:成功返回0,否则返回非0

例程如下 应用fsetpos函数定位文件指针。

#include <stdio.h>

void main( void )

{

   FILE   *fp;

   fpos_t pos;

   char   buffer[50];

   /*以只读方式打开名为test.txt的文件*/

   if( (fp = fopen( "test.txt", "rb" )) == NULL )

      printf( "Trouble opening file/n" );

   else

   {

      /*设置pos*/

      pos = 10;

      /*应用fsetpos函数将文件指针fp按照

      pos指定的位置在文件中定位*/

      if( fsetpos( fp, &pos ) != 0 )

        perror( "fsetpos error" );

            else

            {

                /*从新定位的文件指针开始读取16个字符到buffer缓冲区*/

                fread( buffer, sizeof( char ), 16, fp );

                 /*显示结果*/

                printf( "16 bytes at byte %ld: %.16s/n", pos, buffer );

                }

      }

   fclose( fp );

}

例程说明:

1)首先,程序以只读方式打开名为test.txt的文件。在这里,test.txt文件中已存入字符串This is a test for testing the function of fsetpos.

2)将pos设置为10。应用fsetpos函数将文件指针fp按照pos指定的位置在文件中定位。这样文件指针fp指向字符串中test的字母t

3)再从新定位的文件指针开始读取16个字符到buffer缓冲区,也就是说读取字符串"test for testing"到缓冲区buffer

4)最后显示结果:16 bytes at byte 10: test for testing

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
fpos
UNIX环境编程学习笔记(13)
C/C++文件的操作(fread() fwrite())
PHP读取大文件末尾N行的高效方法
c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
函数名称:fopen、fread、fwrite(C )(转载)_ccpac...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服