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";
}
}
posted on 2007-07-09 15:05 AlanTop 阅读(2451) 评论(0) 编辑 收藏 引用 所属分类: C++