如何打印调试字符串?
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代码调试控制台打印长字符串?
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情