strrchr, _fstrrchr

Description

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  

Remarks

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.

Return Value

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.

Compatibility

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

See Also

strchr, strcspn, strncat, strncmp, strncpy, _strnicmp, strpbrk, strspn

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

12345678901234567890123456789012345678901234567890

Search char: r

Result: first r found at position 12

Result: last r found at position 30