c语言获取文件大小的示例
1.fseek
int fseek ( FILE * stream, long int offset, int origin );
参数说明:stream,文件流指针;offest,偏移量;orgin,原(始位置。其中orgin的可选值有SEEK_SET(文件开始)、SEEK_CUR(文件指针当前位置)、SEEK_END(文件结尾)。
函数说明:对于二进制模式打开的流,新的流位置是origin + offset。
2.ftell
函数原型:long int ftell ( FILE * stream );
函数说明:返回流的位置。对于二进制流返回值为距离文件开始位置的字节数。
获取文件大小C程序(file.cpp):
#include <stdio.h>
int main ()
{
FILE * pFile;
long size;
pFile = fopen ("file.cpp","rb");
if (pFile==NULL)
perror ("Error opening file");
else
{
fseek (pFile, 0, SEEK_END); ///将文件指针移动文件结尾
size=ftell (pFile); ///求出当前文件指针距离文件开始的字节数
fclose (pFile);
printf ("Size of file.cpp: %ld bytes.\n",size);
}
return 0;
}
相关推荐
-
C语言文件操作函数freopen详细解析
今天做USACO 用到了文件的操作. 之前做USACO只是格式化的些 写 freopen("xxx.in","r",stdin) 和"freopen("xxx.out","w",stdout)" 百度百科上是这么介绍的: 函数名: freopen 功 能: 替换一个流,或者说重新分配文件指针,实现重定向.如果stream流已经打开,则先关闭该流.如果该流已经定向,则freopen将会清除该定向.此函数
-
深入C语言把文件读入字符串以及将字符串写入文件的解决方法
1.纯C实现 复制代码 代码如下: FILE *fp; if ((fp = fopen("example.txt", "rb")) == NULL) { exit(0); } fseek(fp, 0, SEEK_END); int fileLen = ftell(fp); char *tmp = (char *) malloc(sizeof(char) * fileLen); fseek(fp, 0, SEEK_SET); fread(tmp, fileLen,
-
c语言打开文件函数使用方法
ANSI C规定文件打开用函数fopen,关闭为fclose. 1.调用方式通常为: 复制代码 代码如下: FILE *fp;fp=fopen(文件名, 打开方式); 2.参数说明: 文件名: 形如"myfile.dat"."F:\data\myfile.dat"等等; 打开方式:"r"(只读) 为输入打开一个文本文件"w"(只写) 为输出打开一个文本文件"a"(追加) 向文件文件尾添加数据"rb
-
C语言文件操作函数大全(超详细)
fopen(打开文件)相关函数 open,fclose表头文件 #include<stdio.h>定义函数 FILE * fopen(const char * path,const char * mode);函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态.mode有下列几种形态字符串:r 打开只读文件,该文件必须存在.r+ 打开可读写的文件,该文件必须存在.w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失.若文件不存在则建立该文件.w
-
利用C语言替换文件中某一行的方法
文件中存贮的内容如下所示: 11 1122 0 1122 * * 0 0 22 222 0 222 * * 0 0 33 333 0 333 * * 0 0 通过使用下面的几个函数,fopen,fprintf,fscanf,fseek,ftell . 具体的函数函数原型如下所示: FILE*fopen(const char*filename,const char *mode); int fprintf(FILE*stream,const char *format,...) int fscanf(
-
c语言全盘搜索指定文件的实例代码
复制代码 代码如下: #include<stdio.h>#include<windows.h> void FindFile(char* ,char* );int count=0;//统计文件数char fname[32];#define BUFSIZE 256int main(int argc,char* argv[]){ char szLogicalDriveStrings[BUFSIZE]; DWORD iLength; int iSub; pr
-
php读取二进制流(C语言结构体struct数据文件)的深入解析
尽管php是用C语言开发的,不过令我不解的是php没有提供对结构体struct的直接支持.不过php提供了pack和unpack函数,用来进行二进制数据(binary data)和php内部数据的互转: 复制代码 代码如下: string pack ( string $format [, mixed $args [, mixed $...]] ) //Pack given arguments into binary string according to format. array unp
-
C语言采用文本方式和二进制方式打开文件的区别分析
稍微了解C程序设计的人都知道,文本文件和二进制文件在计算机上面都是以0,1存储的,那么两者怎么还存在差别呢?对于编程人员来说,文本文件和二进制文件就是一个声明,指明了你应该以什么方式(文本方式/二进制)打开这个文件,用什么函数读写这个文件(读写函数),怎么判断读到这个文件结尾等. 具体分析如下: 一.以哪种方式打开一个文件: ANSI C规定了标准输入输出函数库,用 fopen()函数打开文件.fopen()函数的调用方式一般为: FILE *fp; fp=fopen(文件名,使用文件方式):
-
c语言读取csv文件和c++读取csv文件示例分享
C读取csv文件 复制代码 代码如下: #include <stdio.h>#include <string.h> char *trim(char *str){ char *p = str; while (*p == ' ' || *p == '\t' || *p == '\r' || *p == '\n') p ++; str = p; p = str + strlen(str) - 1; while (*p == ' ' ||
-
C语言实现修改文本文件中特定行的实现代码
好的,首先我先叙述下功能要求:其实很简单,就是Shell中sed命令的C语言实现,实现定位到所需要的字段的那一行,之后修改成需要的内容.但是由于C语言是面向过程的语言,需要顺序执行的特点,所以,实现中遇到了很多麻烦,在这里博主将实现的过程描述如下,以便大家参考. 问题描述: 文本内容: 复制代码 代码如下: wireless.1.authmode=1wireless.1.compression=0wireless.1.current_ap=ssid12wireless.1.current_sta
随机推荐
- 读懂正则表达式就这么简单
- python用ConfigObj读写配置文件的实现代码
- 怎么选择Javascript框架(Javascript Framework)
- VueJs与ReactJS和AngularJS的异同点
- dos之bat批处理文件语法介绍
- C++按照正态分布来排列整型数组元素
- 浅析IOS中播放gif动态图的方法
- java三个环境变量配置简单教程
- asp.net 备份和恢复数据库的方法示例
- python模拟鼠标拖动操作的方法
- C语言求幂计算的高效解法
- php header函数的常用http头设置
- 浅谈Python 的枚举 Enum
- 指定网页的doctype解决CSS Hacking方法总结
- jQuery获取URL请求参数的方法
- 手把手教你配置一台Linux虚拟机
- jQuery 核心函数以及jQuery对象
- 浅谈javascript中createElement事件
- 详解Spring整合Ehcache管理缓存
- C#保存图片到数据库并读取显示图片的方法