gpt4 book ai didi

c - 如何使用 WinCE 的可变参数编写小型记录器

转载 作者:行者123 更新时间:2023-11-30 18:49:33 24 4
gpt4 key购买 nike

我正在尝试对一些没有日志记录的外部硬件进行一些调查。
为此,我使用 C 中的可变参数制作自己的小型记录器。这是我的代码:

void write(const char* msg, ...)
{
va_list args;
va_start(args, msg);

FILE* file = fopen("/network/cewin/loggerfile.txt", "a");
if(file != NULL)
{
vfprintf(file, msg, args);
fputc('\n', file);
fclose(file);
va_end(args);
}
}

首先,我在 Windows 7 上测试此代码,没有出现问题,但在 WinCE 上,不会打印包含参数的行。

这是一个例子:

write("Hello World") - Works on Win 7 and WinCE
write("Hello %s", "World") - Works on Win7, not on WinCE
write("Hello %i", 5) - Works on Win7, not on WinCE

我试图理解为什么最后两行可以在 Win7 上运行,但不能在 WinCE 上运行。也许我需要使用 vfprintf 之外的其他东西?

由于硬件原因,我无法检查方法的返回值。

最佳答案

不是答案 -> 我无法将代码放在注释中 - “静态”调试函数,不使用 varargs 或 vnprintf

void debugI(char *str, int iValue) 
{
FILE *debugPtr = fopen ("/debugpath/debugFile.txt", "a");
fprintf (debugPtr, "debugI %s:%d\n", str, iValue);
fclose (debugPtr);
}

关于c - 如何使用 WinCE 的可变参数编写小型记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42511131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com