フォーマット文字列と可変数の printf スタイルの引数を使用してメッセージをログに記録できる C# メソッドを実装しようとしています。理想的には、以下に貼り付けた C 関数と同じように機能しますが、もちろん C# には慣用的です。
static
void
LogMessage(const char * iFormat, ...)
{
va_list argp;
FILE * fp;
fp = fopen("log.txt", "a");
if (fp != NULL) {
va_start(argp, iFormat);
vfprintf(fp, iFormat, argp);
va_end(argp);
fprintf(fp, "\n");
fclose(fp);
}
}
この関数は、次の呼び出しを行うことができるため、私にとって便利です。
LogMessage("Testing");
LogMessage("Testing %s", "1 2 3");
LogMessage("Testing %d %d %d", 1, 2, 3);