1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
{
char s[] = "A0,A2,A1,A3";
char * p[] = { s, s + 3, s + 6, s + 9 };
std::sort( std::begin( p ), std::end( p ),
[]( char *a, char *b ) { return ( std::strncmp( a, b, 2 ) < 0 ); } );
char t[sizeof( s )];
char *q = t;
std::for_each( std::begin( p ), std::end( p ),
[&]( char *a )
{
std::strncpy( q, a, 2 );
q += 2;
*q++ = ',';
} );
*--q = '\0';
std::cout << t << std::endl;
}
|