- int length( const char* s ) {
- const char* org = s;
- while( *s )
- ++s;
- return ( s - org );
- }
-
- const char* find( const char* str, char c ) {
- while( *str ) {
- if ( *str == c ) return str;
- ++str;
- }
- return 0;
- }
-
- char* copy( char* dst, const char* src ) {
- char* cur = dst;
- while( *cur++ = *src++ )
- ;
- return dst;
- }
-
- char* rtrim( char* str, const char* t )
- {
- char* curEnd = str, *end = str;
-
- char look[ 256 ] = { 1, 0 };
- while( *t )
- look[ (unsigned char)*t++ ] = 1;
-
- while( *end ) {
- if ( !look[ *end ] )
- curEnd = end + 1;
- ++end;
- }
- *curEnd = '\0';
-
- return str;
- }
-
- char* ltrim( char* str, const char* t ) {
- char* curStr = NULL;
-
- char look[ 256 ] = { 1, 0 };
- while( *t )
- look[ (unsigned char)*t++ ] = 1;
-
- curStr = str;
- while( *curStr && look[ *curStr ] )
- ++curStr;
-
- return copy( str, curStr );
- }
-
- char* trim( char* str, const char* t ) {
- return ltrim( rtrim( str, t ), t );
- }
-
- char* replace( char* str, const char* r, const char* b ) {
- char* curDst = NULL;
-
- char look[ 256 ] = { 0 };
- while( *r && *b )
- look[ (unsigned char)*r++ ] = *b++;
-
- curDst = str;
- while( *curDst ) {
- char c = look[ *curDst ];
- if ( c ) *curDst = c;
- ++curDst;
- }
- return str;
- }
-
- char* reverse( char* str ) {
- char* right = str, *left = NULL;
- while( *right )
- ++right;
-
- left = str;
- while( left < right ) {
- char tmp = *left;
- *left++ = *--right;
- *right = tmp;
- }
- return str;
- }
int length( const char* s ) {
const char* org = s;
while( *s )
++s;
return ( s - org );
}
const char* find( const char* str, char c ) {
while( *str ) {
if ( *str == c ) return str;
++str;
}
return 0;
}
char* copy( char* dst, const char* src ) {
char* cur = dst;
while( *cur++ = *src++ )
;
return dst;
}
char* rtrim( char* str, const char* t )
{
char* curEnd = str, *end = str;
char look[ 256 ] = { 1, 0 };
while( *t )
look[ (unsigned char)*t++ ] = 1;
while( *end ) {
if ( !look[ *end ] )
curEnd = end + 1;
++end;
}
*curEnd = '\0';
return str;
}
char* ltrim( char* str, const char* t ) {
char* curStr = NULL;
char look[ 256 ] = { 1, 0 };
while( *t )
look[ (unsigned char)*t++ ] = 1;
curStr = str;
while( *curStr && look[ *curStr ] )
++curStr;
return copy( str, curStr );
}
char* trim( char* str, const char* t ) {
return ltrim( rtrim( str, t ), t );
}
char* replace( char* str, const char* r, const char* b ) {
char* curDst = NULL;
char look[ 256 ] = { 0 };
while( *r && *b )
look[ (unsigned char)*r++ ] = *b++;
curDst = str;
while( *curDst ) {
char c = look[ *curDst ];
if ( c ) *curDst = c;
++curDst;
}
return str;
}
char* reverse( char* str ) {
char* right = str, *left = NULL;
while( *right )
++right;
left = str;
while( left < right ) {
char tmp = *left;
*left++ = *--right;
*right = tmp;
}
return str;
}