zoukankan      html  css  js  c++  java
  • 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";    
            }

    }

  • 相关阅读:
    浅析影响一个网站的因素
    23种常用设计模式的UML类图
    各版本IE兼容问题,IE6,IE7,IE8,IE9,IE10,IE11
    47种常见的浏览器兼容性问题大汇总
    5个Sublime Text 的插件推荐
    网页设计师神器,快速生成网站配色、字型等风格的工具——Stylify Me
    免费的高分辨率图库——re:splashed 可用做网页背景、设计或桌面壁纸
    MySQL(18):Select- subquery子查询
    MySQL(17):Select-union(联合查询)使用注意事项
    MySQL(16):Select-union(联合查询)
  • 原文地址:https://www.cnblogs.com/lidabo/p/2869803.html
Copyright © 2011-2022 走看看