vc6.0控制台下写日志文件
来源:互联网 发布:防网络诈骗主题班会 编辑:程序博客网 时间:2024/06/05 16:12
#include <time.h>
#include <fstream>
#include <iostream>
#include <string.h>
#include <windows.h>
using namespace std;
int main(int argc, char* argv[])
{
RcLogInfo loginfo;
time_t curTime = time(NULL);
struct tm *mt = localtime(&curTime);
const char g_LogRootPath[] = "My_APPLOG";
char pStrPath[256];
/* 根据日期组成文件夹名称*/
int k = CreateDirectory(g_LogRootPath, NULL);
sprintf(pStrPath, "%s\\%d%02d%02d",g_LogRootPath,
mt->tm_year + 1900, mt->tm_mon + 1, mt->tm_mday);
strcat(pStrPath, ".log");
// int n = loginfo.Create_LogFile(pStrPath);
// int k1 = loginfo.IsFileExist(pStrPath);
char szLogText[256];
memset(szLogText, 0, 256);
struct tm *mt1 = localtime(&curTime);
sprintf(szLogText, "%d-%02d-%02d %02d:%02d:%02d",mt1->tm_year+1900,mt1->tm_mon+1,
mt1->tm_mday,mt1->tm_hour,mt1->tm_min,mt1->tm_sec);
char Logtext[512] = "护系统的维护1护系统的维护1护系统的维护1";
int leng = strlen(Logtext);
if (leng >=85)
{
char Logtext1[512];
memset(Logtext1,0,sizeof(Logtext1));
memcpy(Logtext1,Logtext,sizeof(Logtext));
sprintf(Logtext, "%s\\L$%d%02d%02d%02d%02d%02d.log",g_LogRootPath,mt1->tm_year+1900,mt1->tm_mon+1,
mt1->tm_mday,mt1->tm_hour,mt1->tm_min,mt1->tm_sec);
FILE *zpFile;
zpFile = fopen(Logtext,"a+");
if(NULL == zpFile)
{
return -1;
}
fwrite(Logtext1, 1,strlen(Logtext1), zpFile);
fclose(zpFile);
}
strcat(szLogText,"\tINFO\t");//类型不能超过20个字节
strcat(szLogText,Logtext);
strcat(szLogText,"\n");
FILE *pFile = NULL;
pFile = fopen(pStrPath, "a+");
if(NULL == pFile)
{
return -1;
}
fwrite(szLogText, 1,strlen(szLogText), pFile);
fclose(pFile);
ifstream infile(pStrPath,ios::in);
//infile.open(pStrPath,ios::nocreate);
if(infile) // 有该文件
{
char buf[120];
memset(buf,0,sizeof(buf));
while(infile.getline(buf,120))
{
cout<<buf<<endl;
int num = 0;
for (int i =0;i<strlen(buf);i++)
{
if ('\t'==buf[i])
{
num++;
}
if (2<=num)
{
num = i;
break;
}
}
num = num +1;
char zstrInfo[256];
memset(zstrInfo,0,sizeof(zstrInfo));
memcpy(zstrInfo,buf+num,sizeof(buf)-num);
FILE *pFile = NULL;
pFile = fopen(zstrInfo, "r");
if(NULL != pFile)
{
cout<<"有++:";
memset(zstrInfo,0,sizeof(zstrInfo));
while(fread(zstrInfo,1,sizeof(zstrInfo),pFile))
{
cout<<zstrInfo;
}
cout<<endl;
}
}
}
else // 没有该文件
{
cout <<"no such file" << endl;
}
return 0;
}
- vc6.0控制台下写日志文件
- VC6.0控制台下ADO连接Oracle数据库问题。
- vc6.0控制台下检测是否有按键按下的方法,GetAsyncKeyState的用法
- Java 控制台下显示文件结构
- 用c写个控制台下的进度条
- Windows系统中控制台下编译C/C++文件
- 控制台下用Win32 API打开文件对话框
- 控制台下用Win32 API打开文件对话框
- 控制台下清屏
- 控制台下的unicode
- 控制台下的万年历
- 控制台下的多线程
- 控制台下的定时器
- 控制台下 dos命令
- windows控制台下托盘
- 控制台下的扫雷
- 控制台下ping
- 控制台下登录逻辑
- WebKit Plugin 开发指南
- CentOS 6.3开机自动挂载磁盘和文件夹
- CCEaseElasticOut调整速度和振幅
- HDU3367 Pseudoforest 【并查集】+【贪心】
- iOS中:分数的用法
- vc6.0控制台下写日志文件
- linux下递归删除目录下所有指定类型文件
- 2014.08.09碰到问题
- IOS中定时器NSTimer的开启与关闭
- Java创建线程的常用的两种方法
- UVA 10808 - Rational Resistors(高斯消元+并查集+分数+基尔霍夫定律)
- 安卓使用JNI输出字符和LOG输出
- oracle 集群组件概念
- VS 2010编译错误解决办法之---- LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏