ftell函数用于得到文件位置指针当前位置相对于文件首的偏移字节数,在随机方式存储文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置。

/***
a.txt
***/
asd
gsdert
dfhjtew
/***
ftell.c
***/
#include<stdio.h> int main()
{
FILE *p = fopen("./a.txt","rb");
fseek(p,,SEEK_SET);
char buf[] = {};
fgets(buf,sizeof(buf),p);
printf("buf = %s",buf);
printf("ftell = %ld\n",ftell(p));
fclose(p);
return ;
}

运行结果:

ubuntu1604@ubuntu:~/wangqinghe/C/20190727$ ./ftell

buf = d

ftell = 4

/***
ftell.c
***/
#include<stdio.h> int main()
{
FILE *p = fopen("./a.txt","rb");
fseek(p,,SEEK_SET);
char buf[] = {};
fgets(buf,sizeof(buf),p);
printf("buf = %s",buf); fgets(buf,sizeof(buf),p);
printf("buf = %s",buf); printf("ftell = %ld\n",ftell(p));
fclose(p);
return ;
}

运行结果:

ubuntu1604@ubuntu:~/wangqinghe/C/20190727$ ./ftell

buf = d

buf = gsdert

ftell = 11

ftell函数的更多相关文章

  1. 文件操作:fseek函数和ftell函数

    1.fseek函数: int fseek(FILE * _File, long _Offset, int _Origin); 函数设置文件指针stream的位置.如果执行成功,stream将指向以fr ...

  2. C语言ftell()函数

      ftell()函数返回指定流的当前文件指针的位置.在文件末尾移动文件指针后,我们可以使用ftell()函数获取文件的总大小.可以使用SEEK_END常量来将文件指针移动文件末尾. ftell()函 ...

  3. ftell函数使用注意事项

    ftell函数的原型如下: long ftell(FILE *stream); 主要功能是获取FILE指针在当前文件中的位置. 但在使用文本模式打开文件时,ftell函数返回值不一定跟FILE文件指针 ...

  4. PHP ftell() 函数

    定义和用法 ftell() 函数返回在打开文件中的当前位置. 返回文件指针的当前位置,如果失败则返回 FALSE. 语法 ftell(file) 参数 描述 file 必需.规定要检查的已打开文件. ...

  5. C语言 文件操作11--文件函数再讲 fseek()和ftell()

    //文件函数再讲 //fseek(),ftell(), #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdl ...

  6. [PHP] 使用ftell和fseek函数直接定位文件位置获取部分数据

    对于大文件只获取部分数据很有用 1.使用ftell函数可以获取当前指针的字节位置2.使用fseek函数可以直接定位到指定的位置3.读取指定字节的数据就可以部分获取文件内容了 <?php clas ...

  7. c语言之I/O函数

    c语言中常用的I/O函数 最常用的字符串的标准I/O函数有getchar().putchar().gets().puts().scanf().printf().fputs().fgets().getc ...

  8. PHP常用函数大全

    usleep() 函数延迟代码执行若干微秒.unpack() 函数从二进制字符串对数据进行解包.uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.time_sleep_until() ...

  9. PHP常用函数备用

    刚学习php的时候,我也为记忆php函数苦恼不已.认为干嘛记忆这么枯燥无味的东西呢?用的时候查一下手册不就行了吗?但是当时因为身在辅导机构,还是记忆了一大堆自己并不感兴趣的函数. 由此就想起来,小的时 ...

随机推荐

  1. inline元素、block元素

    inline元素 不会独占一行,相邻的行内元素会排列在同一行内,直到一行排不下才会换行 高.行高.以及外边距和内边距不可改变 宽度就是它的文字或图片的宽度,不可改变,随元素内容变化而变化 内联元素只能 ...

  2. JS基础_for循环练习1

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. requests 抓取网站

    import requests from requests.exceptions import RequestException import re import json def get_one_p ...

  4. call,apply和bind的秒懂区别

    对象.方法(); 谁调用该方法this就指向谁. call()语法: call()精华: 让一个函数成为指定对象的方法进行调用. Person.call(document); //等价于 docume ...

  5. 《Redis高阶应用》讲座总结

    数据结构延展 常用数据结构:String,Hash,List,Set,Sorted Set(不聊这些) 高级数据结构:Bitmaps,hyperloglog,GEO 单机拓展到分布式 为什么要分区:性 ...

  6. mac 下拉取svn代码

    svn checkout https://113.108.97.187/svn/zkteco/zks-app --username=lucy --password=lucy66 svn checkou ...

  7. 如何在cmd命令行中运行Java程序

    cmd运行java 有萌新问我怎么用cmd运行Java,他运行报错了,怎么办?如图是他的执行过程: 他说就这一个类,里面包含了main方法怎么会没有加载主类呢. 其实很简单,因为你执行的时候并不能直接 ...

  8. MySQL数据库笔记五:多表查询

    1.表与表之间的关系 一对一:用户表和身份信息表,用户表是主表 例如:男人表 .女人表 create table man( mid int primary key auto_increment, mn ...

  9. weakref:对象的弱引用

    介绍 weakref支持对象的弱引用,正常的引用会增加对象的引用计数,并避免它被垃圾回收.但结果并不是总和期望的那样,比如有时候可能会出现一个循环引用,或者有时候需要内存时可能要删除对象的缓存.而弱引 ...

  10. 天线basic

    1.实际应用时,按内置天线还是外置天线考虑. 内置时,净空区在 PCB 上所有层(all layer) 不能放置元件,走线和铺 GND  天线远离金属,至少要距离周围有较高的元器件 10 毫米以上: ...