Ищу сделать небольшой регистратор должен использоваться следующим образом:Как использовать varargs для малого регистратора?
logger log;
const char* text = "World";
log.write("Hello %s", text);
log.write("Step %d", 1);
Это мой код, который не работает правильно:
class logger
{
public:
void write(const char* msg, ...)
{
FILE* file = fopen("c:/test.txt", "a");
if(file != NULL)
{
va_list args;
va_start(args, msg);
fprintf(file, "%s\n", msg, args);
va_end(args);
fclose(file);
}
}
};
Это то, что я получаю:
Hello %s
Step %d
Я так и не использовал varargs
, поэтому не уверен, правильно ли я использую его.
C не имеет классов или спецификаторов доступа. Не просто пометьте случайным образом. – StoryTeller
Это будет очень медленно, если вы откроете и закроете файл для каждой отдельной печати. –
@StoryTeller: в любом случае это решение C, а не C++. – Kobe