C语言 文件读写 ftell 函数 - C语言零基础入门教程

目录

  • 一.ftell 函数简介
  • 二.ftell 函数实战
  • 三.ftell 函数经典使用
  • 四.猜你喜欢

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

一.ftell 函数简介

C 语言函数 ftell 用于得到文件位置指针当前位置相对于文件首的偏移字节数,ftell 函数声明如下:

#include <stdio.h>
#include <stdlib.h>
/*
*描述:返回给定流 stream 的当前文件位置
*
*参数:
*   [in]  stream:文件指针句柄
*
*返回值:如果成功,该函数返回位置标识符的当前值;如果发生错误,则返回 -1L;
*/
long int ftell(FILE *stream);

二.ftell 函数实战

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 文件读写 ftell 函数
//@Time:2021/07/24 07:30
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/#include <stdio.h>
#include <stdlib.h>//fseek函数调用int main()
{long position;char list[100];/*    rb+ 读写打开一个二进制文件,允许读数据。*/FILE * fp = fopen("a.txt", "rb+");if (fp == NULL) {printf("file error\n");exit(1);}fread(list,sizeof(char),100,stream);//get position after readposition=ftell(stream);printf("Position after trying to read 100 bytes:%ld\n",position);fclose(stream);stream=NULL;return 0;
}

三.ftell 函数经典使用

当我们不知道文件内容有多大的时候,使用 fread 不知道应该设置需要读取的元素数量,那么我们一般可以通过 ftell 函数获取当前文件的大小,然后在通过 fread 函数读取到缓冲区,示例代码如下:

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 文件读写 ftell 函数
//@Time:2021/07/24 07:30
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/#include <stdio.h>
#include <stdlib.h>int main()
{FILE *fp;int flen;char *p;/* 以只读方式打开文件 */if((fp = fopen ("1.txt","r"))==NULL){printf("\nfile open error\n");exit(0);}fseek(fp,0L,SEEK_END); /* 定位到文件末尾 */flen=ftell(fp); /* 得到文件大小 */p=(char *)malloc(flen+1); /* 根据文件大小动态分配内存空间 */if(p==NULL){fclose(fp);return 0;}fseek(fp,0L,SEEK_SET); /* 定位到文件开头 */fread(p,flen,1,fp); /* 一次性读取全部文件内容 */p[flen]='\0'; /* 字符串结束标志 */printf("%s",p);fclose(fp);free(p);return 0;
}

四.猜你喜欢

  1. C 语言 数组下标越界和内存溢出区别
  2. C 语言 使用指针遍历数组
  3. C 语言 指针和数组区别
  4. C 语言 指针数组和数组指针区别
  5. C 语言 野指针
  6. C 语言 函数值传递和址传递
  7. C 语言 函数不定长参数
  8. C 语言 函数指针
  9. C 语言 指针函数
  10. C 语言 回调函数 callback
  11. C 语言 #pragma once
  12. C 语言 #include <> 与 #include “” 区别
  13. C 语言 const 修饰函数参数
  14. C 语言 const 和 define 区别
  15. C 语言 #运算符
  16. C 语言 ##运算符
  17. C 语言 __VA_ARGS__
  18. C 语言 ##__VA_ARGS__
  19. C 语言 函数不定长参数 ##__VA_ARGS__经典案例
  20. C 语言 va_start / va_end / va_arg 自定义 printf 函数
  21. C 语言 main 函数
  22. C 语言 main 函数参数 main(int argc, char *argv[])
  23. C 语言 局部变量
  24. C 语言 全局变量
  25. C 语言 全局变量和局部变量区别
  26. C 语言 static
  27. C 语言 extern

未经允许不得转载:猿说编程 » C 语言 文件读写 ftell 函数

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

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

相关文章

线程礼让详细讲解

礼让线程&#xff0c;让正执行的线程停止&#xff0c;但不阻塞 将线程从运行状态转为就绪状态 让cpu重新调度&#xff0c;礼让不一定成功&#xff0c;看cpu心情 package com.wuming.state;public class TestYield {public static void main(String[] args) {MyYield myYield…

C语言 文件读写 fgetc 函数 - C语言零基础入门教程

目录 一.fgetc 函数简介二.fgetc 函数使用三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.fgetc 函数简介 fgetc 函数用于从文件流中读取一个字符&#xff0c;其原型为&#xff1a; #include <stdio.h> #include <stdlib.h> /…

Gartner预测2019年全球IT支出将达到3.8万亿美元

戳蓝字“CSDN云计算”关注我们哦&#xff01;【2019年1月29日】全球领先的信息技术研究和顾问公司Gartner表示&#xff0c;2019年全球IT支出将达到3.76万亿美元&#xff0c;较2018年增长3.2%。Gartner研究副总裁John-David Lovelock表示&#xff1a;“尽管经济衰退传闻、英国脱…

多线程join,强制执行完

想象成插队 package com.wuming.state; //测试join public class TestJoin implements Runnable{/*** When an object implementing interface <code>Runnable</code> is used* to create a thread, starting the thread causes the objects* <code>run<…

C语言 文件读写 fputc 函数 - C语言零基础入门教程

目录 一.fputc 函数简介二.fputc 函数使用三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.fputc 函数简介 fputc 函数是将字符 c 写到文件指针 stream 所指向的文件的当前写指针的位置&#xff0c;声明如下&#xff1a; #include <stdi…

多线程观测状态

package com.wuming.state;import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;//观察测试线程的状态 public class TestState {public static void main(String[] args) throws InterruptedException {Thread thread new Thread(() -> {for (int i 0; i < 5; i) {t…

4个最受欢迎的大数据可视化工具!

戳蓝字“CSDN云计算”关注我们哦&#xff01;想像阅读书本一样阅读数据流&#xff1f;这只有在电影中才有可能发生。 在现实世界中&#xff0c;企业必须使用数据可视化工具来读取原始数据的趋势和模式。大数据可视化是进行各种大数据分析解决的最重要组成部分之一。 一旦原始数…

C语言 文件读写 fgets 函数 - C语言零基础入门教程

目录 一.fgets 函数简介二.fgets 函数使用三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.fgets 函数简介 fgets 函数功能为从指定的流中读取数据&#xff0c;每次读取一行。其原型为: #include <stdio.h> #include <stdlib.h>…

边缘计算与物联网精华问答 | 边缘计算和物联网有什么关系?

戳蓝字“CSDN云计算”关注我们哦&#xff01;随着物联网时代到来&#xff0c;云计算平台将面临着海量设备接入、海量数据等高难度挑战,这使得云计算中心实时返回数据决策也变成了不可能的任务。于是&#xff0c;边缘计算开始进入到公众的视线。1Q&#xff1a;边缘计算和物联网有…

C语言 文件读写 fputs 函数 - C语言零基础入门教程

目录 一.fgets 函数简介二.fgets 函数使用三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.fgets 函数简介 fgets 函数功能为从指定的流中读取数据&#xff0c;每次读取一行。其原型为: #include <stdio.h> #include <stdlib.h>…

守护线程讲解

线程分用户线程和守护线程 虚拟机必须确保用户线程执行完毕 虚拟机不用等待守护线程执行完毕 后台记录操作日志&#xff0c;监控内存&#xff0c;垃圾回收 package com.wuming.state; //测试守护线程 //上帝守护你 public class TestDaemon {public static void main(Strin…

要闻君说:FaceTime的服务究竟坑有多大?CNCF 技术监督委员会首添中国面孔,来自阿里!高通华为暂和解……...

关注并标星星CSDN云计算每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 嗨&#xff0c;大家好&#xff01;偶是要闻君。终于等到了工作日的最后一天&#xff0c;内心狂喜&#xff0c;想必有的看官已经放假啦。十分感谢小伙伴们长达一月的陪伴&#xff0c…

C语言 fprintf 函数 - C语言零基础入门教程

目录 一.fprintf 函数简介二.fprintf 函数使用三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.fprintf 函数简介 fprintf 是 C / C 中的一个格式化库函数&#xff0c;位于头文件 中&#xff0c;其作用是格式化输出到一个流文件中&#xff1…

线程同步机制

同步&#xff1a;多个线程操作同一个资源 并发&#xff1a;同一个对象被多个线程同时操作 多个线程进入线程对象等待池形成队列&#xff0c;队列锁能保证线程安全性

云漫圈 | 漫画:什么是加密算法?

戳蓝字“CSDN云计算”关注我们哦&#xff01;文章来自&#xff1a;程序员小灰作者&#xff1a;小灰加密算法的历史加密算法最早诞生在什么时候&#xff1f;是在计算机出现之后吗&#xff1f;不不不&#xff0c;早在古罗马时期&#xff0c;加密算法就被应用于战争当中。在大规模…

C语言 sprintf 函数 - C语言零基础入门教程

目录 一.sprintf 函数简介二.sprintf 函数使用三.sprintf/fprintf/printf 函数区别四.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.sprintf 函数简介 sprintf 函数用于将格式化的数据写入字符串&#xff0c;其原型为&#xff1a; #include…

多线程:三大不安全案例

package com.wuming.syn; //不安全的取钱 //两个人去银行取钱&#xff0c;账户 public class UnSafeBank {public static void main(String[] args) {//账户Account account new Account(100,"结婚基金");Drawing you new Drawing(account,50,"你");Draw…

C语言 printf 函数 - C语言零基础入门教程

目录 一.printf 函数简介二.C 语言格式符/占位符三.printf 函数实战四.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 printf 函数是 C 语言标准库函数和 Python 内置函数类似&#xff0c;主要用于将格式化后的字符串输出到终端的屏幕&#xff08…

深入浅出大数据:到底什么是Hadoop?

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者&#xff1a;小枣君来源&#xff1a;鲜枣课堂1998年9月4日&#xff0c;Google公司在美国硅谷成立。正如大家所知&#xff0c;它是一家做搜索引擎起家的公司。无独有偶&#xff0c;一位名叫Doug Cutting的美国工程师&#xff0c…

Arraylist线程不安全原因

package com.wuming.syn;import java.util.ArrayList; import java.util.List;//线程不安全的集合 public class UnsafeList {public static void main(String[] args) {List<String> listnew ArrayList<String>();for (int i 0; i < 10000; i) {new Thread(()…