检索本地本文
来源:互联网 发布:俄罗斯 苏联 知乎 编辑:程序博客网 时间:2024/04/27 21:40
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>char **pp = NULL;//存储指针数组的地址int getfilesize(char *path)//获取文件大小{FILE *pf;pf = fopen(path, "r");//读取的模式打开if (pf == NULL){return -1;//代表获取失败}else{fseek(pf, 0, SEEK_END);//到文件末尾int num = ftell(pf);//文件开头到当前位置有多少字节fclose(pf);//关闭文件return num;}}int getn(char *path)//获取行{FILE *pf;pf = fopen(path, "r");if (pf == NULL){return -1;}else{int i = 0;while (!feof(pf))//判断是否到文件末尾{char str[275];//缓冲区fgets(str, 275, pf);//读取一行i++;//统计多少行}fclose(pf);//关闭文件return i;}}//有13180807行 存储成指针就是50Mvoid initdatatomem(char *path){pp = (char**)malloc(sizeof(char*) * 13180807);FILE *pf = fopen(path, "r");if (pf == NULL){printf("fail");}else{for (int i = 0; i < 13180807; i++){char str[275] = {0};//缓冲区fgets(str, 275, pf);//从文件中逐行读取字符串int strlength = strlen(str) + 1;//获取要分配的字符串的长度char *px = (char*)malloc(sizeof(char)*strlength);//分配内存strcpy(px, str);//拷贝字符串px[strlength - 1] = '\0';//设定最后一个字符为'\0'pp[i] = px;//存入指针数组}}printf("载入内存OK");}void findstr(char *searchstr){for (int i = 0; i < 13180807; i++){char *ptemp = strstr(pp[i], searchstr);//便利所有指针数组地址,字符串查找if (ptemp != NULL){printf("\n%s", pp[i]);}}}void main(){/*char *path = "F:\\C基础\\c就业\\20140729\\dangdang.txt";int num = getfilesize(path);printf("%d字节,%fK,%fM", num, num / 1024.0, num / 1024.0 / 1024.0);printf("\n有%d行", getn(path));*/char *path = "F:\\C基础\\c就业\\20140729\\dangdang.txt";initdatatomem(path);char searchstr[100] = { 0 };scanf("%s", searchstr);findstr(searchstr);system("pause");}
阅读全文
0 0
- 检索本地本文
- 本地SQL检索方式
- Hibernate-HQL-QBC 检索-本地SQL 检索
- Hibernate---QBC检索与本地SQL检索
- QBC检索和本地SQL检索
- 本文讲的是未读消息条目显示及本地缓存
- PRVF-0002 : 无法检索本地节点名
- PRVF-0002 : 无法检索本地节点名
- Android 检索本地所有的视频
- PRVF-0002 : 无法检索本地节点名
- mysql 本地数据库如何从远程数据库导数据,本文以此问题进行详细介绍
- noteexpress如何在本地数据库中检索文献?
- Hibernate的检索方式(HQL、QBC、本地SQL等)
- Hibernate深入理解----Hibernate 检索方式(HQL,QBC,本地SQL)
- 使用Objective-c语言检索本地音视频
- 本地数据 根据输入条件进行检索数据
- android 6.0检索本地各种类型的文件
- eclipse使用Maven导入jar包时检索本地仓库检索不到
- python3实现《机器学习实战》遇到的问题:range函数
- 015 t分布、卡方分布、F分布习题及正态总体下常用分布
- 19.Python
- 程序员在阿里巴巴总部工作是怎么样的?
- 程序员和程序艺术家
- 检索本地本文
- const
- 字符串应用
- 结构体对齐和深拷贝浅拷贝
- 队列
- 图像的梯度和幅值
- GET和POST中文乱码的解决方法
- 细说浏览器输入URL后发生了什么
- 抽象类与接口的区别