• c++读写文件和测试程序运行时间的例子


    例子完整代码:http://zhmster.googlepages.com/ReadFile.rar

    例子功能简介:程序中google.dic是我的google输入法的词库。

    本段代码功能:就是把这个文件重新按照词频排序。把词频高的放在前面。

     

    代码是我一个学生作品:我做了小部分修改。

     

    代码演示了如下的技术:

    1. c++读写文件

    2. 如何测试一个程序的运行时间。程序中calctime类可以复用。大家只要在程序开始声明一下即可。

    3. 重载str_line这个类的<操作符。以此可以利用链表的排序函数来排序。

     

    #include <list>
    #include <string>
    #include <iostream>
    #include <fstream>   
    #include <algorithm>
    #include <stdio.h>
    #include <time.h>

    using namespace std; 
    #pragma warning ( disable : 4786 )

    struct str_line 
    {
        string str_first;
        int int_second;
        char str_third[1000];
        bool operator < ( str_line strline_other)
        {
            if( int_second < strline_other.int_second)
                return false;
            else
                return true;
        }
    } strline;

    class calctime
    {
    public:
        clock_t start, finish;
        double duration;
        void showResult()
        {
            duration = (double)(finish - start) / CLOCKS_PER_SEC;
            printf( "%.5f seconds\n", duration );
        }
        calctime()
        {
            start = clock();
        }
        ~calctime()
        {
            finish = clock();
            showResult();
        }
    };

    void main()
    {

            calctime calc;
            ifstream in_file("google.dic");
            ofstream out_file("out.txt");
            list<str_line> save_date_list;
            while ( in_file>>strline.str_first 
                && in_file>>strline.int_second
                && in_file.getline(strline.str_third,1000))
            {
                save_date_list.push_back(strline);
            }
            save_date_list.sort();    
            list<str_line>::iterator iter = save_date_list.begin(); 
            for( ; iter!= save_date_list.end(); iter++ )
            {
                //str_line strlineTemp = *iter;
                out_file<< iter->str_first <<"   "
                    << iter->int_second <<"   "
                    << iter->str_third << "\n";    
            }

    }

  • 相关阅读:
    Session Cookie介绍和使用
    Java 设计模式(概述)
    Java-JSON 解析
    Java Fileupload
    docker执行mysql容器修改用户权限
    分布式事务Seata
    idea配置git_2
    idea配置注释
    idea配置git的ssh
    远程阿里云镜像问题
  • 原文地址:https://www.cnblogs.com/lidabo/p/2869803.html
Copyright © 2020-2023  润新知