format_TCHAR*文字列といくつかのchar*文字列を可変長引数の関数に渡す必要があります。
inline void FooBar(const _TCHAR *szFmt, const char *cArgs, ...) {
//...
}
したがって、次のように呼び出すことができます。
char *foo = "foo";
char *bar = "bar";
LogToFileA(_T("Test %s %s"), foo, bar);
明らかに、簡単な修正はcharの代わりに_TCHARを使用することですが、残念ながらそのような贅沢はありません。
文字列をフォーマットできるように、これをva_startなどで使用する必要があります。
va_list args;
_TCHAR szBuf[BUFFER_MED_SIZE];
va_start(args, cArgs);
_vstprintf_s(szBuf, BUFFER_MED_SIZE, szFmt, args);
va_end(args);
残念ながら、このエラーが発生するため、これを使用することはできません。
Unhandled exception at 0x6a0d7f4f (msvcr90d.dll) in foobar.exe:
0xC0000005: Access violation reading location 0x2d86fead.
char*を_TCHAR*に変換する必要があると思いますが、どうすればよいでしょうか。