C i funkcja ze zmienną liczbą argumentów w funkcji ze zmienną liczbą argumentów
Ostatnio zmodyfikowano 2018-11-21 18:49
aksen Temat założony przez niniejszego użytkownika |
C i funkcja ze zmienną liczbą argumentów w funkcji ze zmienną liczbą argumentów » 2018-11-21 16:14:13 Witam Potrzebuje oprogramować funkcję ze zmienną liczbą argumentów (save2log), a następnie w tej funkcji wywołać następną funkcję ze zmienną liczbą argumentów (fprintf lub syslog) Robię to w ten sposób alby móc wypisywać logi na ekran/lub do pliku (funkcja fprintf) lub do sysloga po zmianie funkcji na syslog. Wszystko działa poprawnie kiedy użyję vfprintf ale jak tu użyć fprintf? (a w przyszłosci syslog?) void save2log( const char * format,...) { va_list ap; va_start( ap, format ); vfprintf( stderr, format, ap ); va_end( ap ); }
prototypy: void syslog( int, const char *,...); int fprintf( FILE * stream, const char * format,...); int vfprintf( FILE * stream, const char * format, va_list vlist );
PS. Rozwiązaniem jest użycie funkcji: vsyslog( int priority, const char * format, va_list ap );
Chociaż pytanie pozostaje aktualne , czy da się tu użyć funkcji fprintf lub syslog? |
|
pekfos |
» 2018-11-21 18:49:28 Chociaż pytanie pozostaje aktualne , czy da się tu użyć funkcji fprintf lub syslog? |
W C nie da się tego zrobić w przenośny sposób w ogólnym przypadku. Jeśli z góry znasz typy i jest limit na ilość argumentów, możesz oprogramować wszystkie przypadki. |
|
« 1 » |