1.读取的文件

test.txt

2.c代码

duQu01.c

#include <stdlib.h>
#include <stdio.h>
#define  _CRT_SECURE_NO_WARNINGS int getFileLine(FILE *file)//文件有几行
{if (file == NULL){printf("Read failed!");return -1;}int num = 0;//读取的文件存入bufchar buf[1024] = { 0 };while (fgets(buf, 1024, file)!=NULL){num++;//printf("%s", buf);}//指针移到末尾,需要将文件光标置为文件首fseek(file, 0, 0);printf("文件有几行:%d\n", num);return num;/*int fseek( FILE *stream, long offset, int origin );第一个参数stream为文件指针第二个参数offset为偏移量,整数表示正向偏移,负数表示负向偏移第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SETSEEK_SET: 文件开头SEEK_CUR: 当前位置SEEK_END: 文件结尾其中SEEK_SET,SEEK_CUR和SEEK_END和依次为0,1和2.*/
}
readFileData(FILE *file,int len,char **pArray)
{if (file == NULL){//printf("Read failed!");return -1;}if (len <= 0){printf("长度小于0");}if (pArray == NULL){return -1;}//读取的文件存入bufchar buf[1024] = { 0 };int index = 0;while (fgets(buf, 1024, file) != NULL){//计算第1行有多少字节,加上\0int currentlen = strlen(buf) + 1;//开辟该行空间char *cp = malloc(sizeof(char)*currentlen);//复制到cpstrcpy(cp, buf);//将数据拷贝到堆区内存中pArray[index++] = cp;//释放缓冲区memset(buf, 0, 1024);}
}//显示数据
show(char **pArray, int len)
{for (int i = 0; i < len; i++){printf("第%d行是:%s",i+1,pArray[i]);}
}//释放内存
freeSpace(char **pArray, int len)
{//先释放小的for (int i = 0; i < len; i++){if (pArray[i] != NULL){free(pArray[i]);pArray[i] = NULL;}}free(pArray);pArray = NULL;
}void test01()//测试函数
{//读取文件FILE *file = NULL;file=fopen("./test.txt", "r");if (file == NULL){printf("Read failed!");//return 0;}//文件有几行int len = getFileLine(file);//堆区开辟len个char*空间,二级指针char **pArray = malloc(sizeof(char*)*len);//读取文件数据,存入pArrayreadFileData(file, len, pArray);//显示数据show(pArray, len);//释放内存freeSpace(pArray, len);pArray = NULL;//防止野指针
}int main()
{test01();system("pause");return 0;
}

3.结果显示

二级指针读取文件(显示行数、读取、释放内存)相关推荐

  1. python如何读取文件指定行_Python读取文件、大文件和指定行内容的几种方法

    在使用python处理文本的时候,经常会需要读取文件的内容.如果文件比较小,那么直接使用open文件对象打开文件,再通过read()方法最为方便,这种方法就是把文件内容读出来后放到内存变量. read ...

  2. java 获得文件的行数据_Java 读取文件指定行数据

    public class ReadFileDemo1 { /** * 获取错误文件中的记录号 * @param sourceFile * @return */ public static int[] ...

  3. C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组

    转自:http://hi.baidu.com/ctralt/blog/item/cde79fec87f841302697911c.html fstream提供了三个类,用来实现c++对文件的操作.(文 ...

  4. python怎么读取txt文件并统计其字数-python计算文件的行数和读取某一行内容的实现方法...

    一.计算文件的行数 最简单的办法是把文件读入一个大的列表中,然后统计列表的长度.如果文件的路径是以参数的形式filepath传递的,那么只用一行代码就可以完成我们的需求了: count = len(o ...

  5. python读取文件某一行-python计算文件的行数和读取某一行内容的实现方法

    一.计算文件的行数 最简单的办法是把文件读入一个大的列表中,然后统计列表的长度.如果文件的路径是以参数的形式filepath传递的,那么只用一行代码就可以完成我们的需求了: count = len(o ...

  6. python读取某一行-python计算文件的行数和读取某一行内容的实现方法

    一.计算文件的行数 最简单的办法是把文件读入一个大的列表中,然后统计列表的长度.如果文件的路径是以参数的形式filepath传递的,那么只用一行代码就可以完成我们的需求了: count = len(o ...

  7. python读取txt文件的行数_python读取txt文件符合条件的行数-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 python 关系网图 pyth ...

  8. java读取csv文件的行数_JMeter 读取 CSV 文件数据行数

    在用 JMeter 做测试时,经常需要调用外部 CSV 文件的数据到脚本中使用,如果我们想对 CSV 文件中数据的行数进行统计,这个怎么做呢? 针对上面表格的数据,我们一起来学习一下如何统计数据行数吧 ...

  9. [Perl系列二-实战] 1. Perl 读取代码的行数

    前言 有的时候有这些需求: 1. 统计一个文件的行数 2. 统计一个源代码的有效行数.排除空行和注释行 3. 统一一个目录下各种文件的数量和行数 要达成这些需求,很多语言多可以做到, 但是使用Perl ...

  10. 三种方法Python读取文件指定行,来看看你用过没?

    1.行遍历实现 在python中如果要将一个文件完全加载到内存中, 通过file.readlines()即可, 但是在文件占用较高时, 我们是无法完整的将文件加载到内存中的, 这时候就需要用到pyth ...

最新文章

  1. Android之ListView原理学习与优化总结
  2. 使用代码获得ABAP software component的version
  3. java 上传 进度,关于 javaweb的文件上传实时显示进度
  4. 广西河池计算机考试考什么,2021上半年广西壮族自治区河池市计算机等级考试时间...
  5. batch、epoch、iteration的区别
  6. 杂记 - 进化成更好的人
  7. solve mass matrix in matlab
  8. 【多媒体封装格式详解】---MKV【3】完
  9. 华为荣耀7i刷linux,华为荣耀7i卡刷教程_荣耀7i用第三方recovery刷机教程
  10. WinKawaks + 拳皇97 ROM 包在 PC 搭建拳皇97
  11. CodeSmith注册错误的解决方法
  12. React脚手架创建项目
  13. exploit计算机术语,exploit
  14. 品今第一届集团迎新分享会,进•无止境
  15. 任务管理器显示命令行
  16. 微信 Windows 版本干了件大事!
  17. 荣耀笔记本开机黑屏错误怎么U盘重装系统教学分享
  18. TIDB集群搭建-流水线
  19. 绿色荧光标记麦胚凝集素(FITC-WGA)
  20. python实现奇异值分解_SVD(奇异值分解)Python实现

热门文章

  1. python系统监控_python psutil系统监控详解
  2. php 处理对象用什么,程序处理的对象是什么
  3. oppoa9处理器怎么样_oppoA9究竟怎么样?看看与三星A60元气版的对比吧
  4. layui和jquery冲突:Syntax error, unrecognized expression: +
  5. error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug...
  6. eclipse上配置Maven
  7. C#读取Excel 2003/2007的文件(注意连接字符串)
  8. [转]Linux环境下段错误的产生原因及调试方法小结
  9. 如何理解Library List
  10. 华工软院17级“软件需求分析”课程大作业