strpbrk


strpbrk

Finds the first character in a string that matches any character in another string

 #include <string.h> char *strpbrk ( const char *s1 , const char *s2  ); 

The strpbrk( ) function returns a pointer to the first character in the string addressed by s1 that matches any character contained in the string addressed by s2, or a null pointer if the two strings have no characters in common.

Example

 char *story = "He shouted: \"What? I can't hear you!\"\n"; char separators[ ] = " \t\n.:?!\""; char *start = story, *end = NULL; char words[16][16];         // An array of char arrays to collect words in. int i = 0; while ( i < 16 && ( end = strpbrk( start, separators ) ) != NULL ) {   if ( end != start )       // If the separator wasn't the first character,   {                         // then save a word in an array.     strncpy( words[i], start, end - start );     words[i][end - start] = '\0'; // And terminate it.     i++;   }   start = end + 1;                // Next strpbrk call starts with }                                 // the character after this separator. puts( story ); for ( int j = 0 ; j < i ; j++ )   puts( words[j] ); 

This program prints each of the words it has collected on a new line:

 He shouted What I can't hear you 

See Also

strchr( ), strrchr( ), strstr( ), strcspn( ), strtok( ), wcspbrk( )



C(c) In a Nutshell
C in a Nutshell (In a Nutshell (OReilly))
ISBN: 0596006977
EAN: 2147483647
Year: 2006
Pages: 473

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net