c语言如何在读文件前判断文件大小,c语言获取文件大小,判断文件是否存在
#import
// 判断文件是否存在
bool file_exists(const char *filename){
return access(filename, 0) == 0;
}
//获取文件大小方法1
long file_size(const char *file){
long length = -1;
FILE *fp = fopen(file, "rb+");
if (fp == NULL) {
return length;
}
fseek(fp, 0, SEEK_END);
length = ftell(fp);
fclose(fp);
return length;
}
//获取文件大小方法2
long get_file_size(const char *file){
long length = -1;
struct stat statbuff;
if(stat(file, &statbuff) < 0){
return length;
}else{
length = statbuff.st_size;
}
return length;
}
//字符串连接
char *str_cat(char *str, char *str2){
long len = strlen(str) + strlen(str2);
char *s = (char *)malloc(sizeof(char) * len);
strcpy(s, str);
strcat(s, str2);
return s;
}
//文件读取
char *file_get_contents(const char *filename){
FILE *fp;
size_t size = 1024, n = 0, count = 0, sz = sizeof(char);
char *data = (char *)malloc(sizeof(char) * size);
if(file_exists(filename)){
fp = fopen(filename, "r+");
if(fp){
do{
if(count > 0){
data = realloc(data, (size + count) * sz);
}
n = fread(data + count, sz, size, fp);
if(n < 0){
free(data);
data = NULL;
}
count += n;
}while(n > 0);
fclose(fp);
if(data){
if (0 == (count + sz) % 512){//几率很小的溢出
data = realloc(data, count + sz);
}
data[count] = '\0';
}
return data;
}
}
return NULL;
}
c语言如何在读文件前判断文件大小,c语言获取文件大小,判断文件是否存在相关推荐
- python读取文件前30个字符_Python 批量读取文件中指定字符的实现
1.背景 从指定的NLP生成的文件中读取指定的字符. 2.待读取文件 是以":"作为分隔符的数据,每一行以回车结束.此文件为XXX.train 3.读取每一句中的汉字 ... fi ...
- C语言文件操作 fopen, fclose, mkdir(打开关闭文件,建文件夹,判断文件是否存在可读或可写)
1.建文件夹 int _mkdir(const char *path,mode_t mode); 函数名: _mkdir 功 能: 建立一个目录 用 法: int _mkdir( const char ...
- 易语言FileSystemObject通过FSO对象创建删除写入打开移动复制判断文件
Scripting.FileSystemObject 为 IIS 内置组件,用于操作磁盘.文件夹或文本文件,通常简写为FSO,在ASP时代,对它的调用操控较多,其实易语言通过对象这个类也可以完全实现, ...
- C语言按行读文件与读文件中每一个字符
这里写自定义目录标题 1.按行读取文件,分别获得文件中的每一行. 2.读取文件中的每一个字符并写入字符串数组. 注意: 1.按行读取文件,分别获得文件中的每一行. char Buffer[100]; ...
- 这篇文章会让你熟悉文件的各种操作,让你对文件的认识更加深入【c语言】
文章目录 为什么使用文件 什么是文件 文件名 文件的打开和关闭 文件指针 文件的顺序读写 fgetc fputc fgets fprintf fscanf fwrite fread 对比一组函数 sp ...
- python sorted下标_全!Python基础之原生数据类型、判断和循环、函数和文件操作合集...
长文预警! Python基础系列会将基础内容大致分为三到五个板块,每块着重讲一方面,知识不会很难,主要是以小例子的形式解读,如果你已经入门Python,希望可以帮你温习一下:如果你想入门Python, ...
- python中遍历结构可以是哪些数据类型_全!Python基础之原生数据类型、判断和循环、函数和文件操作合集...
长文预警! Python基础系列会将基础内容大致分为三到五个板块,每块着重讲一方面,知识不会很难,主要是以小例子的形式解读,如果你已经入门Python,希望可以帮你温习一下:如果你想入门Python, ...
- SpringBoot 文件上传 通过Content-Type和文件头判断文件类型
SpringBoot 文件上传 通过Content-Type和文件头判断文件类型 一.关于MIME MIME的全称是Multipurpose Internet Mail Extensions,即多用途 ...
- 电脑故障维修判断指导大全(联想内部文件)
电脑故障维修判断指导大全(联想内部文件) 前 言: 本<电脑故障维修判断指导大全>中所有编辑文章版权归原作者和本站所有.一切商业媒体如要引用本教程内容请与本站联系!网上非盈利媒体引用本教程 ...
最新文章
- mysql 如何修改wait_timeout,interactive_timeout ,和 session ,global 有什么关系
- STM32的USB相关资料(转载)
- sns.distplot图例标注怎么添加_百度地图API图标、文本、图例与连线
- 使用xdebug+webgrind分析php性能
- Android----paint触摸轨迹监听
- ffmpeg 转换flv压缩大小_ffmpeg转换参数和压缩输出大小的比率 参考 最新版本FFMPEG...
- C# 8 新提案让泛型 Attribute 成为现实
- elasticsearch集群搭建-windows
- 天池实验室-Task03-Python入门(下)
- 字符串存入xls matlab,数组 – MATLAB:将字符串写入Excel
- c++编写手机小游戏代码_手机也能编程?盘点这6个可以用手机编程的App!快收藏!...
- linux内核奇遇记之md源代码解读之四
- UG NX8.0安装教程
- 网页动态背景:随鼠标线条变动
- IR2104半桥驱动电路
- 实型变量(浮点型变量)、字符型数据、字符串常量(变量)、字符常量(变量)
- linux c led 驱动程序,uclinux简单LED驱动程序
- Some things about RESUME
- 两年数模路,一点小感触…
- 手把手教你编译RS GIS开源库(一)编译ECW3.3库