У меня есть функция регистрации, которая принимает переменное число аргументов и использует _vsnprintf для их форматирования. Моя проблема в том, что когда я отлаживаю свою автоматизацию OCR, возвращаемая строка отправляется в журнал, поэтому, если файл говорит что-то вроде этого:
Это растровое изображение говорит% n
тогда это будет отправлено моей функции регистрации следующим образом:
void log(LPCSTR msg, ...)
{
char log[MAX_ALLOWED];
int length = sizeof(log) / sizeof(log[0]);
va_list argptr;
va_start( argptr, pzMsg );
// our msg accidentally has a %
if ( strchr(msg, '%') ) {
// debug assertion - no parameters were passed
_vsnprintf( log, length, msg, argptr );
}
log[length-1] = (char)0;
va_end( arg_ptr );
}
есть ли способ, наряду с проверкой «%», что я могу проверить, не было ли аргументов? спасибо.