1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
|
int string::cmp( const char* s1, const char* s2 )
{
int c1, c2, d;
assert( s1 != 0 && s2 != 0 );
do
{
c1 = *s1++; // Naechstes Zeichen von s1
c2 = *s2++; // Naechstes Zeichen von s2
d = c1 - c2; // Differenz der Zeichen
if ( d ) // Wenn Differenz besteht sind die Strings ungleich
{
return ( cry_math::sign_bit_not_set( d ) << 1 ) - 1;
}
} while( c1 );
return 0;
}
|