#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <
string.h>
#define path "1E~001.txt"
char ** g_QQ;
//存放在内存中的qq数据
int total_hang =
84357147;
//标识一共多少行
int long_hang =
798;
//标识有多少数据很长的数据
//读取一共有多少行数据
int read_total_hang()
{
int hang = -
1;
FILE *pf = fopen(path,
"r");
if (pf)
{
hang =
0;
printf("读取成功\n");
while (!
feof(pf))
{
char read_str[
1024] = {
0 };
fgets(read_str, 1024, pf);
read_str[1023] =
'\0';
int length =
strlen(read_str);
hang++
;
}
return hang;
}
else
{
printf("读取失败\n");
return -
1;
}
}
//读取一共有多少超过长度的数据,长度如果大于100,就算长的数据
int read_long_hang()
{
int hang = -
1;
FILE *pf = fopen(path,
"r");
if (pf)
{
hang =
0;
printf("读取成功\n");
while (!
feof(pf))
{
char read_str[
1024] = {
0 };
fgets(read_str, 1024, pf);
read_str[1023] =
'\0';
int length =
strlen(read_str);
if (length >=
100)
{
hang++
;
}
}
return hang;
}
else
{
printf("读取失败\n");
return -
1;
}
}
//加载qq
void load_qq()
{
g_QQ = calloc(
sizeof(
char *),total_hang -
long_hang);
FILE *pf = fopen(path,
"r");
int i =
0;
while (!
feof(pf))
{
char read_str[
1024] = {
0 };
fgets(read_str, 1024, pf);
read_str[1023] =
'\0';
int length =
strlen(read_str);
if (length <
100)
{
g_QQ[i] = calloc(
sizeof(
char), length);
strcpy(g_QQ[i], read_str);
i++
;
}
}
printf("载入成功\n");
}
//查找数据
void find_qq(
char *
str)
{
for (
int i =
0; i < total_hang - long_hang; i++
)
{
if (strstr(g_QQ[i], str))
{
printf("%s\n", g_QQ[i]);
}
}
}
void main()
{
load_qq();
while (
1)
{
char qq[
100];
scanf("%s", qq);
find_qq(qq);
}
system("pause");
}
转载于:https://www.cnblogs.com/xiaochi/p/8316272.html
相关资源:大数据算法大全