#include <Windows.h>
#include <stdio.h>
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
// デバッグ出力用関数のテスト
char temp[64] = {};
char *debuglog = "%2$d行目のコマンド %1$sは不正です。\n"; // 出力する情報
char *func = __FUNCTION__; // 渡されるであろう引数1(今回は関数名)
int line = __LINE__; // 渡されるであろう引数2(今回は行数)
sprintf_s(temp, "Function %s : Line %d\n", func, line); // OK
// C#のString.Format("{1}行目のコマンド {0}は不正です。", func, line);のような処理がしたい。
sprintf_s(temp, debuglog, func, line); // NG
OutputDebugStringA(temp);
return 0;
}
実行すると // NG のところでIncorrect format specifier(誤った書式指定子)のエラーが出ます。
何がいけないのか調べても分からなかったので回答お願いします。
根本的な解決にならないため、渡す引数の順番変えればいいという回答はナシでお願いします。