Ich glaub nicht, dass es dafür vorgefertigte Funktion gibt, aber ich hätte das so gelöst:
Code
char* ltostr( long * pl, short size ) {
short i;
char* retval = (char*) malloc( sizeof( char ) * size+1 );
for( i = 0; i < size; i++ )
retval[i] = ( pl[i]+'0' );
retval[ size ] = '\0';
return retval;
}
Und dann strcat verwenden, hoffe das hilft...
[edit]
Hmm, da fällt mir auf, dass es ja auch effizienter ginge
Man kann die Schleifenzahl auf 1 reduzieren, indem man die Funktion etwas umschreibt. Sonst läuft strcat über denselben String nochmal...
Code
char* str_cat_long_array( char* str, long * pl, short size ) {
short i, slength = strlen( str );
char* retval = (char*) malloc( sizeof( char ) * size + slength + 1 );
strcpy( retval, str );
for( i = 0; i < size; i++ )
retval[ i+slength ] = ( pl[i]+'0' );
retval[ size + slength ] = '\0';
return retval;
}
Eigentlich nur ein minimaler unterschied, aber wenn ich seit Tagen mit Übersetzerbau beschäftigt bin, ist so eine Funktion _immer_ willkommen :zwinker:
[/edit]