zoukankan      html  css  js  c++  java
  • C和C++ log

    一、

    1. C++项目中用到c代码,各个代码打印日志用的不一样,Qt C++用qDebug,纯C++用cout,C语言用printf,但打印日志结果不同步,影响判断,误导找问题。

       所以最好采用记录日志的形式,记录的日志同步。

    2.在mfc使用会出现以下错误:

    错误 C4996 '_itoa': This function or variable may be unsafe. Consider using _itoa_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

    解决方法:

    项目右键 -- 属性 -- C/C++ -- 预处理器 -- 预处理器定义,在里面添加  _CRT_SECURE_NO_DEPRECATE 即可;

    二、C

    log2.h

    #ifndef LOG_H
    #define LOG_H
    
    #include <stdio.h>
    #include <stdint.h>
    #include <stdbool.h>
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    
        //class log2
        //{
        //public:
        //log2();
    
        void logd(const char *type_name, const uint8_t *data, int len);
        void logdx(const char *type_name, const uint8_t *data, int len);
        
        void logRemoveFile();
        //private:
        
        //};
    
    #ifdef __cplusplus
    }
    #endif
    #endif // LOG2_H

    log2.c

    #include "stdafx.h"//mfc 需要添加此头文件
    #include "log.h"
    #include "time.h"
    #include "windows.h"
    const char* FILE_PATH = "logc.txt";
    void logd(const char *type_name, const uint8_t *data, int len)
    {
        FILE* pFile = fopen("logc.txt", "a");
    
        SYSTEMTIME st = { 0 };
        GetLocalTime(&st);
        fprintf(pFile, "[%04d-%02d-%02d %02d:%02d:%02d %03d] ", st.wYear, st.wMonth, st.wDay,
            st.wHour, st.wMinute, st.wSecond, st.wMilliseconds);
    
        fprintf(pFile, "%s
    ", type_name);
    
        for (int i = 0; i < len; i++)
        {
    
            fprintf(pFile, " %d", data[i]);
        }
    
        fprintf(pFile, "
    ");
    
        fflush(pFile);
        fclose(pFile);
    
    }
    void logdx(const char *type_name, const uint8_t *data,int len)
    {
    
        FILE* pFile = fopen(FILE_PATH, "a");
        
        SYSTEMTIME st = { 0 };
        GetLocalTime(&st);
        fprintf(pFile, "[%04d-%02d-%02d %02d:%02d:%02d %03d] ", st.wYear, st.wMonth, st.wDay,
            st.wHour, st.wMinute, st.wSecond, st.wMilliseconds);
    
        fprintf(pFile, "%s
    ", type_name);
    
        for (int i = 0; i < len; i++)
        {
    
            fprintf(pFile, " %02X", data[i]);
        }
        
        fprintf(pFile, "
    ");
    
        fflush(pFile);
        fclose(pFile);
    }
    void logRemoveFile()
    {
        remove("logc.txt");
    }
  • 相关阅读:
    实现CA和证书申请
    1.ssh端口
    1.对称加密6和7的操作
    关于网页访问并发量,统计前十,防火墙
    双指针法
    并查集
    c++常用函数
    vector常用方法
    贪心算法
    字符串类问题
  • 原文地址:https://www.cnblogs.com/ike_li/p/12378323.html
Copyright © 2011-2022 走看看