700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C语言 文件读写 ftell 函数 - C语言零基础入门教程

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

时间:2024-07-15 08:14:06

相关推荐

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(个人博客地址): //@File:C语言教程 - C语言 文件读写 ftell 函数//@Time:/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(个人博客地址): //@File:C语言教程 - C语言 文件读写 ftell 函数//@Time:/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;}

四.猜你喜欢

C 语言 数组下标越界和内存溢出区别C 语言 使用指针遍历数组C 语言 指针和数组区别C 语言 指针数组和数组指针区别C 语言 野指针C 语言 函数值传递和址传递C 语言 函数不定长参数C 语言 函数指针C 语言 指针函数C 语言 回调函数 callbackC 语言 #pragma onceC 语言 #include <> 与 #include “” 区别C 语言 const 修饰函数参数C 语言 const 和 define 区别C 语言 #运算符C 语言 ##运算符C 语言 __VA_ARGS__C 语言 ##__VA_ARGS__C 语言 函数不定长参数 ##__VA_ARGS__经典案例C 语言 va_start / va_end / va_arg 自定义 printf 函数C 语言 main 函数C 语言 main 函数参数 main(int argc, char *argv[])C 语言 局部变量C 语言 全局变量C 语言 全局变量和局部变量区别C 语言 staticC 语言 extern

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。