zoukankan      html  css  js  c++  java
  • 35.QQ大数据模型

    #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("读取成功
    ");
            while (!feof(pf))
            {
                char read_str[1024] = { 0 };
                fgets(read_str, 1024, pf);
                read_str[1023] = '';
                int length = strlen(read_str);
                hang++;
            }
            return hang;
        }
        else
        {
            printf("读取失败
    ");
            return -1;
        }
    }
    
    
    //读取一共有多少超过长度的数据,长度如果大于100,就算长的数据
    int read_long_hang()
    {
        int hang = -1;
        FILE *pf = fopen(path, "r");
        if (pf)
        {
            hang = 0;
            printf("读取成功
    ");
            while (!feof(pf))
            {
                char read_str[1024] = { 0 };
                fgets(read_str, 1024, pf);
                read_str[1023] = '';
                int length = strlen(read_str);
                if (length >= 100)
                {
                    hang++;
                }
            }
            return hang;
        }
        else
        {
            printf("读取失败
    ");
            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] = '';
            int length = strlen(read_str);
            if (length < 100)
            {
                g_QQ[i] = calloc(sizeof(char), length);
                strcpy(g_QQ[i], read_str);
                i++;
            }
        }
        printf("载入成功
    ");
    }
    
    //查找数据
    void find_qq(char *str)
    {
        for (int i = 0; i < total_hang - long_hang; i++)
        {
            if (strstr(g_QQ[i], str))
            {
                printf("%s
    ", g_QQ[i]);
            }
        }
    }
    
    void main()
    {
        load_qq();
    
        while (1)
        {
            char qq[100];
            scanf("%s", qq);
            find_qq(qq);
        }
        system("pause");
    }
  • 相关阅读:
    is as运算符
    继承,多态
    封装等
    面向对象
    在JDBC中使用带参数的SQL语句
    我的程序库:HiCSDB
    我的程序库:HiCSUtil
    Java中,将ResultSet映射为对象和队列及其他辅助函数
    Java版的对象关系映射实现
    Java中的基本数据类型转换
  • 原文地址:https://www.cnblogs.com/xiaochi/p/8316272.html
Copyright © 2011-2022 走看看