fseek, _fseeki64 函数应用

简介: fseek, _fseeki64 函数应用

fseek, _fseeki64


作用


将文件指针移到指定位置。


头文件


fseek   <stdio.h>
_fseeki64 <stdio.h>


函数原型


int fseek(
   FILE *stream,
   long offset,
   int origin
);
int _fseeki64(
   FILE *stream,
   __int64 offset,
   int origin
);


参数


  • stream


指向 FILE 结构的指针。


  • offset


中的字节数 origin 。


  • origin


初始位置。


自变量 origin 必须是下列常量之一,在中定义 stdio.h :


image.png


返回值


如果成功, fseek 则 _fseeki64 返回0。


否则,返回一个非零值。


在无法查找的设备上,返回值是未定义的。 如果 stream 为 null 指针,或者如果不 origin 是下面所述的允许值之一, fseek 则 _fseeki64 调用无效参数处理程序,如 参数验证中所述。 如果允许执行继续,则这些函数将设置 errno 为 EINVAL 并返回-1。


备注


https://docs.microsoft.com/zh-cn/cpp/c-runtime-library/reference/fseek-fseeki64?view=msvc-170#remarks


代码示例



文件中



// crt_fseek.c
// This program opens the file FSEEK.OUT and
// moves the pointer to the file's beginning.
#include <stdio.h>
int main( void )
{
   FILE *stream;
   char line[81];
   int  result;
   if ( fopen_s( &stream, "fseek.out", "w+" ) != 0 )
   {
      printf( "The file fseek.out was not opened\n" );
      return -1;
   }
   fprintf( stream, "The fseek begins here: "
                    "This is the file 'fseek.out'.\n" );
   result = fseek( stream, 23L, SEEK_SET);
   if( result )
      perror( "Fseek failed" );
   else
   {
      printf( "File pointer is set to middle of first line.\n" );
      fgets( line, 80, stream );
      printf( "%s", line );
    }
   fclose( stream );
}
相关文章
|
开发框架 Unix Linux
深度探索:Qt CMake工程编译后的自动打包策略
深度探索:Qt CMake工程编译后的自动打包策略
761 0
|
8月前
|
机器学习/深度学习 自然语言处理 物联网
FlowMo: 模式搜索+扩散模型提升图像Token化性能
FlowMo是一种基于Transformer的扩散自编码器,无需卷积网络或对抗性损失,在图像Token化领域实现技术突破。它通过两阶段训练(模式匹配预训练与模式搜索后训练)和一维潜在表征,达到低高比特率下的领先性能。FlowMo摒弃传统方法限制,展现卓越重建质量,但推理计算开销较大。其创新为视觉生成系统提供了新方向。
190 4
FlowMo: 模式搜索+扩散模型提升图像Token化性能
|
NoSQL 前端开发 Java
使用 Spring Boot + Neo4j 实现知识图谱功能开发
在数据驱动的时代,知识图谱作为一种强大的信息组织方式,正逐渐在各个领域展现出其独特的价值。本文将围绕使用Spring Boot结合Neo4j图数据库来实现知识图谱功能开发的技术细节进行分享,帮助读者理解并掌握这一技术栈在实际项目中的应用。
1026 4
|
安全 Java API
gateway基本配置
【5月更文挑战第7天】API Gateway在微服务架构中起着关键作用,作为客户端与后端服务的统一入口,负责路由转发、安全控制和负载均衡。本文深入介绍了API Gateway的基本配置、常见问题、跨平台配置差异及避免错误的方法。内容包括路由和过滤器配置、动态路由、安全性配置、限流和熔断机制,以及自定义过滤器和服务降级策略。通过示例代码和实践指南,帮助读者理解和部署API Gateway。
849 3
|
存储 JSON C++
Qt cmake 增加qml文件:深度剖析Qt cmake 的qt_add_qml_module函数
Qt cmake 增加qml文件:深度剖析Qt cmake 的qt_add_qml_module函数
609 0
【latex】报错解决汇总
【latex】报错解决汇总
830 0
|
算法 安全 程序员
【C++ 随机数生成器】深入解析C++ 随机数生成器mersenne_twister_engine等
【C++ 随机数生成器】深入解析C++ 随机数生成器mersenne_twister_engine等
741 0
|
编译器 C++
C++ max函数与min函数
C++ max函数与min函数
677 0
|
JSON 架构师 前端开发
REST API 设计最佳实践:如何正确使用 HTTP 状态码?
本文分享在设计 REST API 时的最佳实践。关于设计优秀REST API 的一些建议、提示和指导,帮助您让消费者(以及开发人员)满意。 我们都应该努力使API变得易于使用。无论是对于消费者,还是我们自己的开发人员同伴。希望这篇文章能帮助你学到一些技巧,并激发出构建更好REST API的方法。
1404 0
REST API 设计最佳实践:如何正确使用 HTTP 状态码?
|
算法 C++
解决方案-Visual Studio生成库(DLL&LIB)以及如何调用
解决方案-Visual Studio生成库(DLL&LIB)以及如何调用
2142 0