#include <stdio.h>

int
getsize(char *filename)
{
FILE *pf;
pf = fopen(filename,"r");
if(pf)
{
int size;
fseek(pf,0,SEEK_END); //移动到文件末尾,燃火用文件内部实现的文件偏移来获得文件的大小
size = ftell(pf);
fclose(pf);
return size;
}
else
return -1;
}

int   main()

{

char *buffer;
char filename[256]={0};
FILE *f;
int  len;
printf("输入文件名字:");
gets(filename);
len = getsize(filename); //访问文件失败
if(len==-1)
{
perror("文件错误!:");
exit(1);
}
buffer = calloc(1,len+2); //申请len+2大小全为0的内存空间
f = fopen(filename,"r");
if(!f || buffer==0) //错误处理
{
perror("文件错误!:");
exit(1);
}
fread(buffer,1,len,f);//读出所有文件的内容
printf(buffer);//输出所有文件了内容
return 0;
}

用动态内存读入任意大小的文件(c语言)相关推荐

  1. linux shell 脚本攻略学习10--生成任意大小的文件和文本文件的交集与差集详解

    一.生成任意大小的文件(dd命令): 举例: amosli@amosli-pc:~/learn/example$ dd if=/dev/zero of=test.zip bs=2M count=1; ...

  2. win服务器创建文件夹命令,Win10系统如利用命令提示符或WSL创建任意大小空白文件...

    要测试网盘或服务器的上传,下载速度,需要指定大小的文件用来测试.创建的空白文件虽然没有任何内容,但是有大小,可以用来测试实际传输速度.覆盖已删除数据等用途.这篇文章是本站教大家在Win10中用命令或W ...

  3. linux按照大小分割文件夹,split命令_Linux split 命令用法详解:分割任意大小的文件...

    split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等. 选项-b:值为每一输出档案的大小,单位为 byte. -C:每一输出档中,单行的最大 ...

  4. c语言指定大小分割文件,C语言实现智能文件分割

    #include #include #include "windows.h" #include using namespace std; char* char_catch(char ...

  5. C语言输出任意大小矩阵,【c语言】输出以下4*5的矩阵

    // 输出以下4*5的矩阵 // 1 2 3 4 5 // 2 4 6 8 10 // 3 6 9 12 15 // 4 8 12 16 20 #include int main() { int i, ...

  6. c++基础学习(10)--(文件、流、异常处理、动态内存、命名空间)

    文章目录 目录 1.文件和流 2.异常处理 3.动态内存 4.命名空间 目录 1.文件和流 注意 文件打开方式中的in和out都是相对于内存(计算机)而言的,计算机读取文件,是将数据从磁盘中的文件读入 ...

  7. c语言链表动态分配内存,链表的C语言实现(含动态内存分配)

    转自:http://blog.csdn.net/21aspnet/article/details/146968 链表的C语言实现(含动态内存分配) 上 链表的C语言实现之动态内存分配 一.为什么用动态 ...

  8. FreeRTOS 之五 动态内存管理(heap_1.c)详解

    写在前面   写这篇文章时,网上已经有了铺天盖地的文章来介绍 FreeRTOS 的动态内存.之所以还去写这篇博文,主要还是记录自己的学习过程.结合源代码一步一步分析一下FreeRTOS究竟是怎么实现的 ...

  9. 6.堆(动态内存 heap)的初始化和使用

    堆:先进先出 FIFO:First in first out  手动分配.释放 栈:后进先出 FILO:First in last  out  自动分配释放 裸机情况下使用动态内存heap:在启动文件 ...

最新文章

  1. Selenium3自动化测试——18.窗口截图
  2. 5张图搞懂Java深浅拷贝
  3. 用FFmpeg搭建基于CNN的视频分析方案
  4. Cisco Nexus 1000V
  5. 【新春特辑】发压岁钱、看贺岁片、AI写春联……华为云社区给大家拜年了
  6. poj 1287 Networking 最小生成树 Kruskal Prim
  7. RMAN duplicate恢复数据库报错RMAN-06054问题处理
  8. oracle24550,ORA-24550: signal received:这个问题的原因及解决办法
  9. 面向对象的数据库db4o: 安装并使用db4o
  10. 【日常科普】浏览器网页视频自定义倍速播放(无需任何插件)
  11. 大学生安卓期末设计之本地音乐播放器
  12. RK3326 Android 8.1 吉字节问题解决
  13. git分支拉取develop分支最新代码
  14. 08年度的佳作——《真・恋姫†無双》玩后感(蜀国篇)+AGTH真正提取大法
  15. 触屏笔和电容笔哪个好?非常值得入手的电容笔推荐
  16. 光电器件(发光器件)特征与发光特性介绍
  17. 新老域名更替时的页面跳转
  18. 获得100000+点击的程序员高薪职业建议!
  19. 做seo软文编辑撰写经验
  20. 说真的,喜欢偶尔这样的激情解说!

热门文章

  1. ML之xgboost:利用xgboost算法(自带,特征重要性可视化+且作为阈值训练模型)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)
  2. AI公开课:19.04.17杨松帆—好未来AI Lab负责人《为人工智能时代打造一个AI老师》课堂笔记以及个人感悟
  3. Dataset之Handwritten Digits:Handwritten Digits(手写数字图片识别)数据集简介、安装、使用方法之详细攻略
  4. CV之YOLO:深度学习之计算机视觉神经网络tiny-yolo-5clessses训练自己的数据集全程记录
  5. C# List的使用
  6. POJ.3648.Wedding(2-SAT)
  7. JavaScript---事件详解
  8. libpcap抓取数据包
  9. Angular2 - Starter - Routes, Route Resolver
  10. gocode+auto-complete搭建emacs的go语言自动补全功能