_vscprintf äquivalente funktion unter linux



  • Hi,

    kennt jemand eine funktion die das selbe unter linux macht wie die windows funktion _vscprintf(ist erst in VC++ 7 dabei)

    die funktion ermittelt die anzahl der zeichen in einem per argumenten übergenenen string.

    z.B.

    #include <stdlib.h>
    #include <stdarg.h>
    #include <stdio.h>
    void test( char * format, ... )
    va_list args;
       int len;
       char * buffer;
       char temp;
    
       va_start( args, format );
       len = _vscprintf( format, args ) // _vscprintf doesn't count
                                   + 1; // terminating '\0'
       buffer = (char*)malloc( len * sizeof(char) );
       vsprintf( buffer, format, args );
       printf( buffer );
       free( buffer );
    }
    
    int main( void )
    {
       test( "%d %c %d\n", 123, '<', 456 );
       test( "%s\n", "This is a string" );
       return 0;
    }
    

    So sieht dann die Ausgabe aus:

    123 < 456
    This is a string

    Gruß

    firefly



  • Hat sich erledigt hab was gefunden 😉

    in den snprinf sourcen hab ich es gefunden (portable_vsnprintf)
    http://www.ijs.si/software/snprintf/

    gruß firefly


Anmelden zum Antworten