`
fly_hyp
  • 浏览: 305753 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

一份c/c++写日志到处都能用的代码

阅读更多




#include "stdafx.h"
#include <stdio.h>
#include <time.h>

#define DEBUG_LOG( str ) log_append_to_file("c:\\test.txt", str,__FILE__,__LINE__ );  

void log_append_to_file(char* filename,char* str,char* sourceFile,int fileLine)
{
	time_t t;
	time(&t);
	struct tm* tp= localtime(&t);
	printf("%x\n",tp);
	char now_str[100];
	strftime(now_str, 100, "%Y-%m-%d %H:%M:%S", tp);

	FILE *fo;
	fo = fopen(filename, "a");
    if (fo == 0) {	
        return;
    }

	fprintf(fo, "%s %s(:%d):%s\r\n",now_str,sourceFile,fileLine, str);
	fclose(fo);
}

int main(int argc, char **argv)
{
/*********************define******************/

	DEBUG_LOG("test");
	printf("Hello World!\n");
	return 0;
} 






#include <time.h>
#include <stdio.h>
#include <string.h>

#ifndef HYP_COMMON_INLINE_H
	#define HYP_COMMON_INLINE_H

#define DEBUG_LOG( str ) printf( "%s(:%d):%s",__FILE__,__LINE__, str );

struct SpeedMardData
{
	time_t startT;
};

static void fatal(char* message);
static void* xmalloc(size_t size);
static void SpeedMard_Start(struct SpeedMardData* data);
static void SpeedMard_stopAndPrint(struct SpeedMardData data,int testCount);

inline void fatal(char* message){
	printf("fatal:%s \n",message);
	exit(0);
}

inline void* xmalloc(size_t size) {
	register void *value = malloc(size);
	if (value == 0)
		fatal("virtual memory exhausted");
	return value;
}

inline void SpeedMard_Start(struct SpeedMardData* data)
{
	data->startT =  time(NULL);
}

inline void SpeedMard_stopAndPrint(struct SpeedMardData data,int testCount)
{
	time_t now = time(NULL);
	printf("now:%d \n",(int)now);
	printf("data.startT:%d \n",(int)data.startT);
	double dTime = difftime (now, data.startT);
	printf("dTime:%f speed %f times/sec \n", dTime,(double)testCount / dTime);
}

inline void debug_append(const char* filename,const char* str)
{
     FILE *fp;
     fp=fopen(filename,"a");
     fwrite(str,sizeof(char),strlen(str),fp);
     fwrite("\n",sizeof(char),1,fp);
     fclose(fp);
}

分享到:
评论

相关推荐

    c++飞鸽程序源代码

    【C++飞鸽程序源代码】是一份专用于学习和研究C++编程语言的实践案例,它涵盖了网络通信、多线程以及消息传递等核心概念。飞鸽程序,通常指的是一个即时通讯应用,通过该程序,用户可以在同一网络环境下进行快速的...

    MQX_User_Guide.rar_微处理器开发_C/C++_

    《MQX嵌入式系统用户指南》是一份深入解析微处理器开发C/C++编程的宝贵资源,它旨在帮助开发者高效地构建和管理嵌入式项目。MQX操作系统,全称Microprocessor eXecutive,是由菲尼克斯软件公司(Phoenix Software ...

    金山卫士源代码(C++编写的)

    这个压缩包中包含的“金山卫士源代码”是该软件的核心组件以C++编程语言实现的原始代码,对于深入理解软件工作原理以及C++编程实践来说,是一份非常有价值的参考资料。 首先,我们要了解C++语言。C++是一种静态类型...

    C++GreenBrowser 浏览器源码

    C++ GreenBrowser 浏览器源码是一份珍贵的学习资源,它是由资深的VC++开发者精心编写的。这份源码不仅展现了C++的强大功能,还展示了浏览器的底层工作原理,对于想要深入理解网络浏览器开发的程序员来说,无疑是一份...

    紫外线强度测试仪源代码

    在本项目中,我们主要关注的是“紫外线强度测试仪源代码”,这是一份用C语言编写的程序,用于实验操作紫外线强度测试仪。C语言是一种基础且强大的编程语言,广泛应用于系统开发、嵌入式系统以及各种科学计算中。源...

    VisualC++开发技术大全11章到25章自已手敲运行的代码

    《Visual C++开发技术大全11章到25章自已手敲运行的代码》这一资源集合了Visual C++编程的精华,...这些章节覆盖了从基础到高级的多个层次,对于想要系统学习Visual C++开发的程序员来说,是一份非常宝贵的参考资料。

    stc12MCU-PN532-code.rar_单片机开发_C/C++_

    标题中的“stc12MCU-PN532-code.rar”表明这是一份与STC12系列单片机和PN532芯片相关的代码压缩包,主要用于NFC(近场通信)功能的开发。STC12系列是宏晶科技生产的一种8位单片机,以其低功耗、高性能和易用性而被...

    JNI测试用例代码及报告

    总之,"JNI测试用例代码及报告"是一个很好的学习资源,它涵盖了JNI的基础知识、实战应用和问题解决,对于想深入了解和使用JNI的人来说,是一份宝贵的资料。通过分析和实践这些测试用例,开发者可以更好地掌握JNI的...

    JNI-DEMO.zip_DEMO_JNI DEMO_java JNI Demo_jni_leveldb jni demo

    Java Native Interface(JNI)是Java平台的标准组成部分,它允许Java代码和其他语言写的代码进行交互。JNI在各种场景中都有应用,...这个DEMO对于初学者来说是一份宝贵的教育资源,有助于深入理解和掌握JNI的使用技巧。

    write_gpio.zip_嵌入式Linux_C/C++_

    C/C++编程语言是进行嵌入式开发的常用工具,特别是在底层硬件交互时。"write_gpio.zip"这个压缩包很显然是为嵌入式Linux初学者准备的一份资源,它包含了一些驱动开发的文档和实例,有助于理解GPIO驱动的编写。 在...

    visualc++编程宝典光盘源代码1

    《Visual C++编程宝典光盘源代码1》是一份宝贵的学习资源,它包含了大量关于使用Microsoft Visual C++进行程序开发的实际示例和项目代码。这份资料是学习和提升C++编程技能的理想伙伴,尤其适合那些希望深入理解MFC...

    facebook用c语言写的核心源码

    通过研究这些核心源码,开发者不仅可以了解Facebook如何利用C语言优化大规模的Web应用,还可以学习到高级的系统编程技巧和最佳实践,这对于任何希望提升自身C语言编程能力或理解大规模系统构建的人都是一份宝贵的...

    《亮剑Visual C++项目开发案例导航》源文件

    《亮剑Visual C++项目开发案例导航》源文件是一份集合了C++编程语言在实际项目中的应用案例,旨在帮助开发者通过具体的实例学习和掌握Visual C++的使用技巧。这份资源可能包含了多个项目的源代码,涵盖了不同的编程...

    CS1237驱动,cs1237驱动程序,C,C++源码.zip

    C++则在C的基础上增加了面向对象特性,使得代码组织更加模块化,便于复用和维护,但可能在某些环境下不如C语言高效。 在提供的源码中,我们可以期待找到以下部分: 1. 驱动初始化和卸载:这部分代码负责在驱动加载...

    热血江湖服务端C++源代码,完整游戏服务器代码

    《热血江湖服务端C++源代码》是一款专...总之,《热血江湖服务端C++源代码》是一份宝贵的教育资源,对于想要提升游戏服务器开发能力的程序员来说,它不仅提供了实战经验,更是深入学习C++和游戏服务器设计的绝佳实例。

    c++课程设计-个人收支管理系统 (1).rar

    【标题】:“C++课程设计-个人收支管理系统 (1).rar”揭示了这是一份基于C++编程语言的课程设计项目,目标是构建一个能够帮助用户管理个人财务的应用程序。这个系统应该具备记录收入与支出、分类统计、预算设置、...

    高质量C++与C指南.doc

    这份高质量C++与C指南旨在为开发者提供一套有效的编程规范和最佳实践,帮助他们写出更健壮、更易读、更易于维护的代码。这份文档由林锐起草,经过朱洪海的审查和修正,确保了内容的准确性和实用性。 **第1章 文件...

    C语言实验:基于C++&QT实现的网吧计费系统源码与实验报告(Latex).zip

    这个项目不仅提供了完整的源代码,还附带了一份使用LaTeX编写的实验报告,确保了项目的可读性和可学习性。以下是对这个项目及其相关知识点的详细说明: 首先,C++是面向对象的编程语言,它在系统编程、游戏开发、...

Global site tag (gtag.js) - Google Analytics