c++读写文件和测试程序运行时间的例子-阿里云开发者社区

开发者社区> double2li> 正文

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

简介: 例子完整代码:http://zhmster.googlepages.com/ReadFile.rar 例子功能简介:程序中google.dic是我的google输入法的词库。 本段代码功能:就是把这个文件重新按照词频排序。
+关注继续查看

例子完整代码: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";    
        }

}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
客户端自动升级的一个代码例子【C/S】
经常看到有问客户端自动更新问题,把一个以前看到的常用的方法整理了一下,放在网上供大家使用。 详细代码下载地址 http://cid-56b433ad3d1871e3.office.live.com/self.
590 0
c++程序中写测试log到文件的简单实现
1、int WriteToLog(char* str) { FILE* log; log = fopen("D:\\testlog.txt", "a+"); if (log == NULL){ //OutputDebugString("Log file open failed.
860 0
从 Git 提交历史中「恢复」文件修改时间
几个月之前,我贪图部署方便,把博客的部署方式,从本地编译推送更新变成了借助 Github 和 Travis-CI 自动部署。 用了几个月一直相安无事,直到几天前我小小修改了一下主题,展示了文章的更新日期。 本地调试的时候一切正常,直到我把变更推到 Github,触发了自动部署。下图就是出乎意料的
5486 0
Android开发5——文件读写
一、基本概念 在Android应用中保存文件,保存的位置有两处 ①手机自带的存储空间,较小(如200M),适合保存一些小文件,Android中保存位置在data/data/应用包名/files目录 ②外存储设备如SD卡,较大,适合保存大文件如视频,Android中保存位置在mnt/sdcard目录,androd1.5,android1.6保存在sdcard目录 保存的位置通过and
1236 0
+关注
double2li
一个在IT行业摸爬滚打的老司机
2870
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载