#define _CRT_SECURE_NO_WARNINGS #include
#define MAX_FILE_LEN 1024*1024 char* GetNowTime();
void Setlogpath(char* logpath, int logpathLen, char* FileName); long GetFileSize(char* FileName);
void WriteLog(char* FileName, char* logbuf, int logbufsize);
void main() {
char* TM = GetNowTime(); printf(\当前时间是:%s\\n\, TM); if (NULL != TM) { }
//TEST 文件路径和文件名设置 char logpath[20] = \; int len = strlen(logpath); char filename[50] = { 0 };
Setlogpath(logpath, len, filename); printf(\文件为:%s\\n\, filename); //TEST 文件大小获取
long length = GetFileSize(filename); printf(\文件大小为:%d\\n\, length); //TEST写日志
for (int i = 0; i<1; ++i) {
char* TM = GetNowTime(); printf(\, TM); if (NULL != TM) { }
char strbuf1[32];
free(TM); TM = NULL; free(TM); TM = NULL;
}
}
memset(strbuf1, 0, sizeof(strbuf1)); sprintf(strbuf1, \, i);
WriteLog(filename, strbuf1, strlen(strbuf1)); printf(\文件为:%s\\n\, strbuf1); Sleep(100); // 毫秒 sleep(1); // 秒
#ifdef WIN32 #else #endif
printf(\); system(\); return;
//获取当前系统时间 char* GetNowTime() { }
void Setlogpath(char* logpath, int logpathLen, char* FileName)//路径设置,文件名 { }
long GetFileSize(char* FileName)//获取文件大小 {
long length = 0; if (FileName != NULL) {
struct tm* strTm; time_t ttime; time(&ttime);
strTm = localtime(&ttime);
memcpy(FileName, logpath, logpathLen);
sprintf(FileName + logpathLen, \, strTm->tm_year + 1900, strTm->tm_mon struct tm* strTm; time_t ttime; time(&ttime);
strTm = localtime(&ttime);
char* NowTimeBuf = (char*)malloc(20 * sizeof(char));
sprintf(NowTimeBuf, \, strTm->tm_year + 1900,
strTm->tm_mon + 1, strTm->tm_mday, strTm->tm_hour, strTm->tm_min, strTm->tm_sec); return NowTimeBuf;
+ 1, strTm->tm_mday);
}
}
FILE* fp = NULL;
fp = fopen(FileName, \); if (fp != NULL) { }
if (fp != NULL) { }
fclose(fp); fp = NULL;
fseek(fp, 0, SEEK_END); length = ftell(fp);
return length;
void WriteLog(char* FileName, char* logbuf, int logbufsize)//写日志 {
if (NULL != FileName && NULL != logbuf) {
if (GetFileSize(FileName) < MAX_FILE_LEN) { }
//文件写操作 FILE* fp = NULL;
fp = fopen(FileName, \); if (NULL != fp) { }
fclose(fp); fp = NULL;
char* TM = GetNowTime();
fwrite(TM, 20, 1, fp);//时间记录
fwrite(logbuf, logbufsize, 1, fp);//内容记录 if (NULL != TM) { }
free(TM); TM = NULL;
}
}
C语言日志存储小程序
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)