Scan a string for the last occurrence of a character.
#include <string.h> | Required only for function declarations |
char *strrchr( const char *string, int c );
char __far * __far _fstrrchr( const char __far *string, int c );
string | Searched string | |
c | Character to be located |
The strrchr function finds the last occurrence of c (converted to char) in string. The string's terminating null character ('\0') is included in the search. (Use strchr to find the first occurrence of c in string.)
The _fstrrchr function is a model-independent (large-model) form of the strrchr function. The behavior and return value of _fstrrchr are identical to those of the model-dependent function strrchr, with the exception that all the pointer arguments and return values are far pointers.
These functions return a pointer to the last occurrence of the character in the string. A NULL pointer is returned if the given character is not found.
strrchr
Standards:ANSI, UNIX
16-Bit:DOS, QWIN, WIN, WIN DLL
32-Bit:DOS32X
_fstrrchr
Standards:None
16-Bit:DOS, QWIN, WIN, WIN DLL
32-Bit:None
strchr, strcspn, strncat, strncmp, strncpy, _strnicmp, strpbrk, strspn
/* 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" );
}
String to be searched:
The quick brown dog jumps over the lazy fox
1 2 3 4 5
12345678901234567890123456789012345678901234567890
Search char: r
Result: first r found at position 12
Result: last r found at position 30