首页 > 代码库 > 截取字符串
截取字符串
char *strrchr( const char *string, int c );
char *wcsrchr( const wchar_t *string, int c );
int _mbsrchr( const unsigned char *string, unsigned int c );
Routine | Required Header | Compatibility |
strrchr | <string.h> | ANSI, Win 95, Win NT |
wcsrchr | <string.h> or <wchar.h> | ANSI, Win 95, Win NT |
_mbsrchr | <mbstring.h> | Win 95, Win NT |
Return Value
Each of these functions returns a pointer to the last occurrence of c in string, or NULL if c is not found.
Parameters
string
Null-terminated string to search
c
Character to be located
Remarks
The strrchr function finds the last occurrence of c (converted to char) in string. The search includes the terminating null character.
wcsrchr and _mbsrchr are wide-character and multibyte-character versions of strrchr. The arguments and return value of wcsrchr are wide-character strings; those of _mbsrchr are multibyte-character strings. These three functions behave identically otherwise.
Generic-Text Routine Mappings
TCHAR.H Routine | _UNICODE & _MBCS Not Defined | _MBCS Defined | _UNICODE Defined |
_tcsrchr | strrchr | _mbsrchr | wcsrchr |
Example
/* STRCHR.C: This program illustrates searching for a character * with strchr (search forward) or strrchr (search backward). */#include <string.h>#include <stdio.h>int ch = ‘r‘;char string[] = "The quick brown dog jumps over the lazy fox";char fmt1[] = " 1 2 3 4 5";char fmt2[] = "12345678901234567890123456789012345678901234567890";void main( void ){ char *pdest; int result; printf( "String to be searched: \n\t\t%s\n", string ); printf( "\t\t%s\n\t\t%s\n\n", fmt1, fmt2 ); printf( "Search char:\t%c\n", ch ); /* Search forward. */ pdest = strchr( string, ch ); result = pdest - string + 1; if( pdest != NULL ) printf( "Result:\tfirst %c found at position %d\n\n", ch, result ); else printf( "Result:\t%c not found\n" ); /* Search backward. */ pdest = strrchr( string, ch ); result = pdest - string + 1; if( pdest != NULL ) printf( "Result:\tlast %c found at position %d\n\n", ch, result ); else printf( "Result:\t%c not found\n" );}
Output
String to be searched: The quick brown dog jumps over the lazy fox 1 2 3 4 5 12345678901234567890123456789012345678901234567890Search char: rResult: first r found at position 12Result: last r found at position 30
String Manipulation Routines
See Also strchr, strcspn, _strnicmp, strpbrk, strspn
截取字符串