如何打印调试字符串?

Posted 學海無涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何打印调试字符串?相关的知识,希望对你有一定的参考价值。

#include <WinBase.h>
#include <stdio.h>
#include <stdarg.h>
#include <time.h>
#include <stdio.h>
#include <wchar.h>
static void dbg(const char *fmt, ...)
{
    //获取时间并减去 8 小时时差
    struct timespec ts;
    timespec_get(&ts, TIME_UTC);
    ts.tv_sec += 28800;

    //格式化时间
    char time_buf[32];
    size_t rc = strftime(time_buf, sizeof time_buf, "[%Y-%m-%d %T", gmtime(&ts.tv_sec));
    int time_lenght = snprintf(time_buf + rc, sizeof time_buf - rc, ".%06ld UTC+8]", ts.tv_nsec / 1000);

    //获取参数列表
    va_list args;
    va_start(args, fmt);

    //打印参数列表
    char message[9216] = { 0 };
    vsnprintf_s(message, 9216, 9216 - 1, fmt, args);

    //组合格式化的时间和参数列表字符串
    char debug[10240] = { 0 };
    sprintf_s(debug, 10240, "%s [debug] %s", time_buf, message);

#ifdef WINBASEAPI
    OutputDebugStringA(debug);
#else
    printf("%s\n", debug);
#endif
}

以上是关于如何打印调试字符串?的主要内容,如果未能解决你的问题,请参考以下文章

Flutter开发中,如何在Visual Studio代码调试控制台打印长字符串?

VS2012 如何在输出窗口中打印调试信息 C++语言

如何打印调试字符串?

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

实用Javascript调试技巧

告诉我你的身份证(E)!