慕哥6287543
以下是源代码,基于MFC的控制台程序,如果需要cpp文件的话,请告诉我你的邮箱。// timeRead.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "timeRead.h"#include <fstream>#include <iomanip>#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// The one and only application objectCWinApp theApp;using namespace std;/** @Func : 往文件流out中写入信息,格式为时间:: 内容*/void write(ostream &out, const CTime &t){static int cnt = 0; // 当前记录条数CString szTmp;// 在时间和内容之间插入一标识符::,起分隔作用,方便提取时间对应的内容szTmp.Format("%s:: 于%s写入 第%i条记录", t.Format("%Y%m%d"), t.Format("%Y年%m月%d日 %H时%M分%S秒"), ++cnt);out << LPCSTR(szTmp) << endl;}/** @Func : 解析格式信息,时间:: 内容,并返回信息** @Parm [in ] szRcdInfo : 记录信息,格式为:时间:: 内容* @Parm [out] szTime : 时间部分* @Parm [out] szInfo : 内容部分** @Ret : true格式正确,false格式不正确*/bool getInfo(const CString &szRcdInfo, CString &szTime, CString &szInfo){int index = szRcdInfo.Find("::", 0);if (index == -1) return false;szTime = szRcdInfo.Left(index);szInfo = szRcdInfo.Mid(index+2);return true;}int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]){int nRetCode = 0;// initialize MFC and print and error on failureif (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)){// TODO: change error code to suit your needscerr << _T("Fatal Error: MFC initialization failed") << endl;nRetCode = 1;}else{// TODO: code your application's behavior here.ofstream out("output.txt");if (!out)for (int i = 0; i < 10; ++i)write(out, CTime::GetCurrentTime()); // CTime::GetCurrentTime()用于获取当前系统时间out.close();// 读取文件ifstream in("output.txt");if (!in)CString szRcdInfo, szTime, szInfo;char buffer[100];while(in.getline(buffer, 100)){szRcdInfo = buffer;getInfo(szRcdInfo, szTime, szInfo);cout.flags(cout.flags()|ios::left); // 设置左对齐,默认为右对齐cout << "[时间] "<< setw(10) << LPCSTR(szTime) << "[内容] " << LPCSTR(szInfo) << endl;}}return nRetCode;}以下是我电脑上的输出结果:[时间] 20100830 [内容] 于2010年08月30日 15时21分08秒写入 第1条记录[时间] 20100830 [内容] 于2010年08月30日 15时21分08秒写入 第2条记录[时间] 20100830 [内容] 于2010年08月30日 15时21分08秒写入 第3条记录[时间] 20100830 [内容] 于2010年08月30日 15时21分08秒写入 第4条记录[时间] 20100830 [内容] 于2010年08月30日 15时21分08秒写入 第5条记录[时间] 20100830 [内容] 于2010年08月30日 15时21分08秒写入 第6条记录[时间] 20100830 [内容] 于2010年08月30日 15时21分08秒写入 第7条记录[时间] 20100830 [内容] 于2010年08月30日 15时21分08秒写入 第8条记录[时间] 20100830 [内容] 于2010年08月30日 15时21分08秒写入 第9条记录[时间] 20100830 [内容] 于2010年08月30日 15时21分08秒写入 第10条记录