c语言日志文件
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <dirent.h>
#include <time.h>
#define LOGFILE "./dir_log_0"
int g_Count;
//#define MAXLEN 1024
void WriteDebugLog(char *str);
int main(int argc, char **argv)
{
char str[1024]={0};
strcpy(str,"file no find");
int i=0,j=0;
for (i=0; i<10; i++)
{
for (j=0; j<50; j++)
{
WriteDebugLog(str);
}
}
return 0;
}
void WriteDebugLog(char *str)
{
char buf[2048]={0};
char logFileName[50]={0};
//long MAXLEN = 50*1024*1024;//50MB
int iMax = 1024;//1K
time_t timep;
FILE *fp = NULL;
struct tm *p;
time(&timep);
p = localtime(&timep);
memset(buf,0,sizeof(buf));
sprintf(buf,"[%d-%d-%d %d:%d:%d][DEBUG]",(1900+p->tm_year),(1+p->tm_mon), p->tm_mday,p->tm_hour, p->tm_min, p->tm_sec); //星期p->tm_wday
strcat(buf,str);
strcat(buf," ");
strcpy(logFileName,LOGFILE);
int len = strlen(logFileName);
logFileName[len-1] = Ɔ'+g_Count;
fp = fopen(logFileName,"r");
if(fp==NULL)
{
fp = fopen(logFileName,"w+");
}
else
{
fseek(fp,0,2);//SEEK_END值为2
if( ftell(fp) >= iMax)
{
fclose(fp);
if (g_Count >= 9)
{
logFileName[len-1] = Ɔ'
g_Count=0;
}
else
{
g_Count++;
logFileName[len-1] = Ɔ'+g_Count;
// printf(" %c",Ɔ'+g_Count);
}
fp = fopen(logFileName,"w+");
}
else
{
fclose(fp);
fp = fopen(logFileName,"a");
}
}
fwrite(buf,1,strlen(buf),fp);
fclose(fp);
}
② C语言编写~~
n=getchar();
for(i=1;i<n;i+2)
{
jsum+=i;
}
for(i=2;i<n;i+2)
{
osum+=i;
}
jsum是奇数和,osum是偶数和。。输出一下就可以了。
③ c语言如何实现日志文件里面只保留最近500条消息,超过的就自动删除掉
日志文件每日内容前加入时间戳
建立临时文件
从相应时间戳开始读取内容写入临时文件
删除原文件,临时文件更名
④ 如何用C语言初始化日志模块,设置文件存放的路径
#include<stdio.h>
intinitLog(char*path)
{
FILE*fp=fopen(path,"w");
if(fp==NULL)
{
return-1;
}
fclose(fp);
return0;
}
intmain()
{
if(initLog("D:\ee.log"))
printf("failedtocreatelog");
else
printf("SUCCESS");
return0;
}
⑤ c语言怎么写log日志
#include<stdio.h>
#include<stdarg.h>
#include<time.h>
intwrite_log(FILE*pFile,constchar*format,...){
va_listarg;
intdone;
va_start(arg,format);
//done=vfprintf(stdout,format,arg);
time_ttime_log=time(NULL);
structtm*tm_log=localtime(&time_log);
fprintf(pFile,"%04d-%02d-%02d%02d:%02d:%02d",tm_log->tm_year+1900,tm_log->tm_mon+1,tm_log->tm_mday,tm_log->tm_hour,tm_log->tm_min,tm_log->tm_sec);
done=vfprintf(pFile,format,arg);
va_end(arg);
fflush(pFile);
returndone;
}
⑥ C语言创建一个文件错误日志
没看到有,代码啊帮你改改
⑦ C语言写日志库时怎样做到能每天生成一个新文件,甚至能删除很旧的日志
#include<stdio.h>
#include<time.h>
intmain()
{
FILE*fp=NULL;
charlogName[20]={0};
time_ttimep;
structtm*p;
time(&timep);
p=gmtime(&timep);
sprintf(logName,"%d%02d%02d.txt",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday);
fp=fopen(logName,"a+");
fputs("testlog ",fp);
fclose(fp);
return0;
}
//每天创建一个新文件,当天日志都会追加到这个文件
至于删除文件也是一个道理,只要知道你要删除多少天前的,
拼接出名字直接删除就好
⑧ C语言删除电脑事物日志代码
void main(){FILE *fp;</p><p>fp=fp("","w");/*这里前面双引号里面写上日志的路径注意的就是\ 用\\ 应该就OK了*/</p><p>fclose(fp);</p><p>}
⑨ c语言,用vc6.0++写一个程序,为什么编译和组建产生的文件名不同
VisualC++6.0简称VC或者VC6.0,是微软1998年推出的一款C/C++ IDE,界面友好,调试功能强大。VC6.0是一款革命性的产品,非常经典,至今仍然有很多企业和个人在使用,很多高校也将VC6.0作为C语言的教学基础,作为上机实验的工具。本教程中的代码,也都是在VC6.0下运行通过。
VC6.0 确实有点老了,如果不是学校要求或者项目需要,建议使用 Visual Studio 代替,这里之所以讲解 VC6.0,是为了照顾在校生或者有特殊需求的读者。
安装VC6.0
微软原版的 VC6.0 已经不容易找到,网上提供的都是经过第三方修改的版本,删除了一些使用不到的功能,增强了兼容性。这里我们使用 VC6.0 完整绿色版,它能够支持一般的 C/C++ 应用程序开发以及计算机二级考试。
下载地址:VC 6.0中文版下载
在VC6.0下运行C语言程序
C-Free 支持单个源文件的编译和链接,但是在VC6.0下,必须先创建工程(Project),然后再添加源文件。一个真正的软件,往往需要多个源文件和多种资源,例如图片、视频、控件等,通常是把它们放到一个文件夹下,进行有效的管理。你可以把工程理解为这样的一个文件夹,IDE通过工程来管理这些文件。工程有不同的类型,例如开发“黑窗口”的控制台程序,需要创建Win32 Console Application工程;开发带界面的GUI程序,需要创建Win32 Application工程。
1) 新建Win32 Console Application工程
打开VC6.0,在菜单栏中选择“文件 -> 新建”,或者 Ctrl+N,弹出下面的对话框:

注意:编译生成的 .exe 文件在工程目录下的Debug文件夹内。以上面的工程为例,路径为E:cDemo,打开看到有一个Debug文件夹,进入可以看到 cDemo.exe。
在Debug目录中还会看到一个名为 hello.obj 的文件。.obj是VC/VS生成的目标文件,类似于C-Free下的.o文件。
工程文件说明
进入工程目录 E:cDemo,除了 hello.c,还会看到很多其他文件,它们是VC6.0创建的,用来支持当前工程,不属于C语言的范围,你可以忽略它们。
如果读者感兴趣,我们也提供了简单的说明:
1) .dsp文件:DeveloperStudio Project,工程文件(文本格式),用来保存当前工程的信息,例如编译参数、包含的源文件等,不建议手动编辑。当需要打开一个工程时,打开该文件即可。
2).dsw文件:DeveloperStudio Workspace,工作区文件,和DSP类似。
3) .opt文件:IDE的Option文件,保存了与当前工程有关的开发环境的配置,例如工具条位置、打开的文件、光标位置等。
4) .plg文件:日志文件(HTML文件),保存了程序的编译信息,例如错误和警告等。
一个工程可以包含多个源文件和资源文件(图片、视频等),但只能生成一个二进制文件,例如可执行程序.exe、动态链接库.dll、静态链接库.lib等。工程类型决定了不同的配置信息,也决定了生成不同的二进制文件。
一个工作区可以包含多个工程,能够批量生成多个二进制文件。
我们安装的较大的程序,安装目录中一般包含多个 EXE 和 DLL。对于这样的程序,可以先创建一个工作区,再创建多个工程,这样就能一次性生成所需的多个二进制文件。
⑩ C语言环境下程序产生的日志如何保存在指定的文件
如果是程序内部写了log函数,那么应该可以在程序中设置指定文件。
如果只是用fprintf(stderr,...)等。那么可以在执行程序时重定向输出。比如
./yourprogram >& /d/1.txt即可。
