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即可。