1 つの関数で va_list メソッドを 2 回使用したいと考えています。それをしてもいいですか?
#include <cstdarg>
void printFDS(int num_fds, ... , const char *fmt, ...) {
va_list fds, args;
va_start(fds, num_fds);
va_start(args, fmt);
for (int i = 0; i < num_fds; i++) {
vsprintf(va_arg(fds, FILE*), fmt, args);
}
va_end(args);
va_end(fds);
}
したがって、その関数を次のように呼び出すことができます。
printFDS(1, stderr, "Error: %s\n", stderror(errno));
また
printFDS(2, stderr, otherFD, "Error: %s\n", stderror(errno));
その間FILE *otherFD = fopen ("somefile", "w");
私の目的: fd のリストに情報を出力する..
ありがとう