fseek和ftell

fseek函数是 用来设定文件的当前读写位置.

函数原型:   int fseek(FILE *fp,long offset,int origin);

函数功能:把fp的文件读写位置指针移到指定的位置.

fseek(fp,20,SEEK_SET); 意思是把fp文件读写位置指针从文件开始后移20个字节.

ftell函数是用来获取文件的当前读写位置;

函数原型: long ftell(FILE *fp)

函数功能:得到流式文件的当前读写位置,其返回值是当前读写位置偏离文件头部的字节数.

ban=ftell(fp);  是获取fp指定的文件的当前读写位置,并将其值传给变量ban.

fseek函数与ftell函数综合应用:

分析:可以用fseek函数把位置指针移到文件尾,再用ftell函数获得这时位置指针距文件头的字节数,这个字节数就是文件的长度.

#include <stdio.h>

main()

{

   FILE *fp;

   char filename[80] = "xxxxxxx";

   long length;

   //以二进制读文件方式打开文件

   fp=fopen(filename,"rb");

   if(fp==NULL)

      printf("file not found!/n");

   else

      {

         //把文件的位置指针移到文件尾

          fseek(fp,OL,SEEK_END);

         //获取文件长度;

          length=ftell(fp);

          printf("该文件的长度为%1d字节/n",length);

          fclose(fp);

      }

}

 

#include   <stdio.h> 

#include   <stdlib.h>  

  void   main()  

   

  {    

    FILE   *fp;    

    long   int   size;     

    char   *   buff;  

   

    if   ((fp=fopen("w.dat","rb"))==NULL)   {  

      printf("cannot   open   file/n");    

      exit(1);    

  }  

     

    fseek(fp,0,SEEK_END);  

    size=ftell(fp);  

    buff=(char   *)   malloc(size);  

    fseek(fp,0,SEEK_SET);  

   

    if   (fread(buff,1,size,fp)!=size)   {      

     printf("read   error!!");    

    }      

    free(buff);  

   buff   = NULL;

  }  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java与.Net 在RSA加密方面能不能互相通讯操作???

最近接触了一个案例. 如下:系统A: Java平台, 对信息进行RSA加密. 注意: 是用私钥加密.系统B: .Net平台, 要对信息进行RSA解密证书: 中Java中提供的工具Keytool.exe生成.为了证明解决方案的可行性.我做了以下测试:1>. RSA私钥加密,公钥是否可解(Java代码测试)结果: 可解. (…

本地html页面传递表单值,js实现两个页面表单传值并接收

js 实现两个页面表单传值并接收源码A页面&#xff1a;functiontest(){var s document.getElementById("txt");location.href"2.html?""txt"encodeURI(s.value);}第一个页面表单中输入文字或其他值。B页面代码&#xff1a;var loclocation.href;…

[SCOI2009]最长距离

Description windy有一块矩形土地&#xff0c;被分为 NM 块 11 的小格子。 有的格子含有障碍物。 如果从格子A可以走到格子B&#xff0c;那么两个格子的距离就为两个格子中心的欧几里德距离。 如果从格子A不可以走到格子B&#xff0c;就没有距离。 如果格子X和格子Y有公共边&am…

维修点滴:键盘进杂物

还是那台使用USB口连接打印机的计算机&#xff0c;出现故障。 故障现象是&#xff1a;鼠标放在有上下左右的文件或者栏目上&#xff0c;就上下左右的乱串——怪不得叫鼠标&#xff0c;呵呵。 我刚开始以为是电脑中病毒了&#xff0c;就重做系统&#xff08;也顺便安装了打印机驱…

说好的薪资统计

本来是不想把最后的统计发出来的&#xff0c;但是后台很多同学都想看看嵌入式的薪资&#xff0c;我自己也答应了会发出来&#xff0c;所以趁着这个假期再发一次&#xff0c;也让大家做个参考。不想发的原因是因为担心有别有用心的人拿这个薪资来做比较&#xff0c;多少会让大家…

STL面试题

http://blog.csdn.NET/tianya_team/article/details/50753759 1.说说std::vector的底层&#xff08;存储&#xff09;机制。 vector就是一个动态数组&#xff0c;里面有一个指针指向一片连续的内存空间&#xff0c;当空间不够装下数据时&#xff0c;会自动申请另一片更大的空间…

实现IButtonControl接口时, PerformClick()方法的代码怎么写,请高手指导!

在做WinForm时&#xff0c;想做一个像Asp.Net里的ImageButton的控件&#xff0c;于是自己写了一个自定义控件&#xff0c;名为&#xff1a;ImageButton&#xff0c;继承PictureBox类&#xff0c;并实现IButtonControl接口&#xff0c;但是实现IButtonControl接口时必须重写IBut…

html5 网络断开,html5 – websocket不断断开连接

我一直在努力建立一个在浏览器中运行的websocket聊天室.我已经做了一些谷歌搜索,并找到了一个提供示例websocket连接的网站(www.websocket.org/echo.html).但每当我尝试“连接”按钮时,它会立即显示“已断开连接”,并且我无法发送消息(这只发生在Chrome上).所以我在Firefox上尝…

各种仓储模式的学习

1. 仓储类和仓储接口 https://www.cnblogs.com/caofangsheng/p/5801926.html 2. 泛型仓储类和 工作单元 https://www.cnblogs.com/caofangsheng/p/5804057.html 3. 简单的泛型仓储接口和泛型仓储类 https://www.jianshu.com/p/89b51753b2cf转载于:https://www.cnblogs.com/bi…

【转载】 Asp.net Mvc 3当然也不会例

最快的学习方法&#xff1a;找到官方的教程&#xff0c;最好是类似Msdn演练或者冠以Step By Step的&#xff0c;跟着做一遍&#xff0c;做的过程中可以拷贝少量教程中的代码&#xff0c;确保每个步骤、每行代码含义都能够明白&#xff0c;中途随手记录一下&#xff0c;每个步骤…

什么是BSP工程师?

文章转自https://luomuxiaoxiao.com/?p170一、嵌入式系统要明白什么是嵌入式软件工程师&#xff0c;我们先从嵌入式系统&#xff08;嵌入式设备&#xff09;说起。维基百科上对嵌入式系统的定义如下&#xff1a;嵌入式系统&#xff08;Embedded System&#xff09;&#xff0c…

《STL源码剖析》相关面试题总结

一、STL简介 STL提供六大组件&#xff0c;彼此可以组合套用&#xff1a; 容器 容器就是各种数据结构&#xff0c;我就不多说&#xff0c;看看下面这张图回忆一下就好了&#xff0c;从实现角度看&#xff0c;STL容器是一种class template。 算法 各种常见算法&#xff0c;如sor…

VB.NET 中的ref 和C#中的ref 格式区别

今天把一个VB.NET的程序翻成C#的&#xff0c;在ref这堵了半天。函数定义是这样的&#xff1a;PublicSharedFunctionGetUsers(ByValportalId AsInteger, ByValisHydrated AsBoolean, ByValpageIndex AsInteger, ByValpageSize AsInteger, ByReftotalRecords AsInteger) AsArrayL…

工厂好的html页面,jquery中被誉为工厂函数的是什么?

jquery中被誉为工厂函数的是“$()”。在jQuery中&#xff0c;无论我们使用哪种类型的选择符都需要从一个“$”符号和一对“()”开始。下面本篇文章给大家介绍一下。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。jQuery的三种$()“$”…

如何学好单片机?​嵌入式第一门课

很多想学单片机的人问我的第一句话就是&#xff1a;怎样才能学好单片机&#xff1f;对于这个问题我今天就我自己是如何开始学单片机&#xff0c;如何开始上手&#xff0c;如何开始熟练这个过程给大家讲讲。先说说单片机&#xff0c;一般我们现在用的比较多的的MCS-51的单片机&a…

在 Mac 上通过 Docker 运行 Asp.net Core 简易教程

首先&#xff0c;你需要在 Mac 上安装好 Docker 下载地址 https://download.docker.com/mac/stable/Docker.dmg 或者查看别人的 安装教程 怎么安装这里就不在赘述了。 打开 Docker 输入命令 docker run -d --rm -p 8000:80 --name aspnetcore_sample microsoft/dotnet-sample…

TCP协议-相关面试题

一、TCP协议简介 一般问到TCP协议的时候 最常见的是TCP连接建立和断开的过程&#xff0c;也就是三次握手和四次挥手&#xff0c;两张图足矣。 1.1 三次握手 1.2 四次挥手 二、常见面试题 2.1 TCP连接阶段 2.1.1 发送序号和确认序号问题 例&#xff1a; TCP建立连接的过程采用三…

Android RIL源码研究笔记 の ril (一)

Android源码目录hardware/ril/libril中总共包含5个C/CPP文件&#xff0c;它们分别是ril_commands.h、ril_unsol_commands.h、ril_event.h、ril_event.cpp和ril.cpp。这篇文章主要分析ril.cpp文件。 我们可以将该文件划分为定义部分和实现部分&#xff0c;先来看定义部分&#x…

[转载]Manually configuring Microsoft Internet Information Services (IIS)

Manually configuring Microsoft Internet Information Services (IIS) 原文摘自http://publib.boulder.ibm.com/infocenter/wasinfo/v5r1//index.jsp?topic/com.ibm.websphere.base.doc/info/aes/ae/tins_manualWebIIS.html This topic describes manual configuration setti…

生活中的计算机趣味知识大全,五个有趣的电脑小知识

五个有趣的电脑小知识1&#xff0c; 更改临时文件夹的路径问&#xff1a;我使用的系统为Windows XP&#xff0c;我想把系统临时文件(Temp文件)存放区由C盘移到其他分区(如D盘)&#xff0c;请问该如何*作&#xff1f;答&#xff1a;在“我的电脑上点鼠标右键&#xff0c;选择“属…