C语言读取文件所有内容

转载1:原文链接
转载2:原文链接
关键是获取文件大小

  1. 首先使用fseek()定位到文件末尾
  2. ftell()计算当前文件位置指针相对于文件首的偏移字节数,也就是文件的大小
  3. 用rewind()重新定位到文件开头位置
  4. 将每次读取的字符串拼接或直接一次性读取所有字符串

方法1

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//函数返回fname指定文件的全部内容,如果打不开文件,则返回NULL,并显示打开文件错误
char *getfileall(char *fname)
{FILE *fp;char *str;char txt[1000];int filesize;//打开一个文件if ((fp=fopen(fname,"r"))==NULL){printf("打开文件%s错误\n",fname);return NULL;}//将文件指针移到末尾fseek(fp,0,SEEK_END);filesize = ftell(fp);//通过ftell函数获得指针到文件头的偏移字节数。str=(char *)malloc(filesize);//动态分配str内存
//    str=malloc(filesize);//动态分配str内存str[0]=0;//字符串置空
//    memset(str,filesize*sizeof(char),0);//清空数组,字符串置空第二种用法rewind(fp);while((fgets(txt,1000,fp))!=NULL){//循环读取1000字节,如果没有数据则退出循环strcat(str,txt);//拼接字符串}fclose(fp);return str;
}
int main(int argc, char *argv[])
{char *p;char *fname="/tmp/test.txt";p=getfileall(fname);if (p!=NULL) puts(p);//输出字符串preturn 0;
}

方法2:

/**
* 读取文件内容
* path:文件路径
* length:文件大小(out)
* return:文件内容
*/
char * ReadFile(char * path, int *length)
{FILE * pfile;char * data;pfile = fopen(path, "rb");if (pfile == NULL){return NULL;}fseek(pfile, 0, SEEK_END);*length = ftell(pfile);data = (char *)malloc((*length + 1) * sizeof(char));rewind(pfile);*length = fread(data, 1, *length, pfile);data[*length] = '\0';fclose(pfile);return data;
}

C语言读取文件所有内容相关推荐

  1. C 读写php,C语言读取文件所有内容

    #include #include #include //函数返回fname指定文件的全部内容,如果打不开文件,则返回NULL,并显示打开文件错误 char *getfileall(char *fna ...

  2. C语言 读取文件内容

    读取文件文本内容: 要读取的目标文件: 要读取的目标内容: 运行前请将代码文件和要读取的文件放在同一目录下. #include <stdio.h>int main(void){int ch ...

  3. c语言读取txt第二行数值,c语言读取文件的第二行

    c语言读取文件的第二行 (2012-04-10 00:23:55) 标签: c语言 二 杂谈 c语言读取文件的第二行用c语言读取文件的第二行,第三个域的内容 文件内容: abcd 123456 599 ...

  4. c语言读取一行的前几个字符串,c语言读取文件某一列 c语言 读取文件中某一行的前一行...

    各种格式的文件用什么软件打开.$$$TemporaryFile)Q7?5g4U5m&_.@.m;K"S.$$AOS/2club.looaoo.net-s;X'a)B.N,w7\;{9 ...

  5. 用C语言读取文件数据

    使用C语言读取文件数据的示例代码: ```c #include <stdio.h> int main() {     FILE *fp;     char buffer[100]; // ...

  6. c语言fscanf读入字符,关于C语言读取文件和fscanf函数-c语言fscanf函数C语言编程语言...

    FILE * pFile = fopen(" 1.txt"," r"); //获取指向文件的指针 char * pBuf; //定义文件指针 fseek(pFi ...

  7. c语言读取文件函数,C语言文件操作详细分析:读取文件(fread函数使用)

    C语言文件操作详细分析:读取文件(fread函数使用) 这里详细介绍了C语言读取文件的函数fread的使用说明,参照了MSDN的说明,同时加入自己的经验让大家学的更加明白. C语言读取文件函数frea ...

  8. python如何逐行读取文件_Python逐行读取文件中内容的简单方法

    项目开发中文件的读写是必不可少的 下面来简单介绍一下文件的读 读文件,首先我们要有文件 那我首先自己创建了一个文本文件password.txt 内容如下: 下面先贴上代码,然后对其进一步解释: # c ...

  9. php 读取文件自身内容,与读取文件输出内容

    一,读取文件 先解释一下,什么是读取文件本身,什么叫读取文件输入内容.举个例子test.php里面的内容<?php echo "test"; ?> 1,读取文件本身就是 ...

  10. Java如何读取文件文本内容的几种方式汇总

    本文为joshua317原创文章,转载请注明:转载自joshua317博客 Java如何读取文件文本内容的几种方式汇总 - joshua317的博客 package com.joshua317;imp ...

最新文章

  1. Styled Label
  2. ansys电力变压器模型_变压器模型……一切是如何开始的?
  3. 代理ARP协议(Proxy ARP)
  4. 视觉SLAM十四讲(3):三维空间刚体运动
  5. 不同技术团队的配合问题及DevOps
  6. 最新数据库排行出炉,SQL Server 暴跌。。
  7. Flink 流批一体在阿里的落地
  8. 转换FlashFxp站点和FtpRush站点的好工具
  9. php 解决Chrome Cookie 的 SameSite 属性导致无法写入cookie问题
  10. pdf文件如何生成目录 wps_WPS文档如何生成目录你会了吗?
  11. python turtle 乌龟赛跑_童年听的龟兔赛跑的故事,我终于用100行Python实现了!
  12. 构建面向异构算力的边缘计算云平台
  13. linux sed去除重复,删除文本中的重复行(sort+uniq/awk/sed)
  14. 图片怎么批量压缩?这两个方法有掌握吗
  15. labelme 批量转换json文件 详细步骤
  16. 多目标优化-测试问题及其Pareto前沿
  17. JR/T 0223—2021 金融数据安全 数据生命周期安全规范
  18. printf输出bool值 | printf转换符
  19. IO有Buffered IO 和 Direct IO
  20. WIFI、蓝牙、射频、Zigbee 浅谈智能家居的几种控制协议

热门文章

  1. 七牛云智能日志管理平台的应用与设计
  2. 石墨文档服务器版,石墨文档功能一览
  3. 前端培训,达内黑马、丁鹿学堂、北大青鸟?
  4. CMSIS Driver
  5. 用Python制作圣诞树
  6. 【jszip3.2.1 解压文件乱码】
  7. c语言中的字符数组和字符串之间的关系
  8. 视频 | 直升机如何转弯,为什么能悬停在空中,它的飞行原理是什么?
  9. 华硕AURA无法启动问题或者AURA解压缩支持文件时出错,灾难性故障
  10. 100 余个超实用网站