Article ID: 157672
Article Last Modified on 7/15/2005
<xstring>
size_type find_first_of(const basic_string& _X, size_type iPos = 0);
size_type find_first_of(const element_type *_S, size_type iPos,
size_type cElementsIn_S);
size_type find_first_of(const element_type *_S, size_type iPos = 0);
size_type find_first_of(element_type _C, size_type iPos = 0);Note The class/parameter names in the prototype may not match the
version in the header file. Some have been modified to improve readability.
//////////////////////////////////////////////////////////////////////
//
// Compile options needed: /GX
//
// main.cpp : Demonstrates the use of the basic_string::find_first_of().
//
// Functions:
//
// basic_string::find_first_of() - find the first instance in the
// controlled string of any of the elements specified by the
// parameters. The search begins at an optionally-supplied
// position in the controlled string.
//
// Written by Michael Reeves
// of Microsoft Product Support Services,
// Copyright (c) 1996 Microsoft Corporation. All rights reserved.
//////////////////////////////////////////////////////////////////////
#include <xstring>
#include <iostream>
#if _MSC_VER > 1020 // if VC++ version is > 4.2
using namespace std; // std c++ libs implemented in std
#endif
typedef basic_string<char, char_traits<char>,
allocator<char> > test_string;
void main()
{
test_string str1("Heartbeat");
test_string str2("abcde");
int iPos = 0;
cout << "The string to search is '" << str1.c_str() << "'"
<< endl;
// find the first instance in str1 of any characters in str2
iPos = str1.find_first_of (str2, 0); // 0 is default position
cout << "Element in '" << str2.c_str() << "' found at position "
<< iPos << endl;
// start looking in the third position...
iPos = str1.find_first_of (str2, 2);
cout << "Element in '" << str2.c_str() << "' found at position "
<< iPos << endl;
// use an array of the element type as the set of elements to
// search for; look for anything after the fourth position
char achVowels[] = {'a', 'e', 'i', 'o', 'u'};
iPos = str1.find_first_of (achVowels, 4, sizeof(achVowels));
cout << "Element in '";
for (int i = 0; i < sizeof (achVowels); i++)
cout << achVowels[i];
cout << "' found at position " << iPos << endl;
// use a string literal to specify the set of elements
char szVowels[] = "aeiou";
iPos = str1.find_first_of (szVowels, 0); // 0 is default position
cout << "Element in '" << szVowels << "' found at position "
<< iPos << endl;
// look for a specific character beginning in the third position
iPos = str1.find_first_of ('e', 2);
cout << "'e' found at position " << iPos << endl;
} Program Output is:The string to search is 'Heartbeat' Element in 'abcde' found at position 1 Element in 'abcde' found at position 2 Element in 'aeiou' found at position 6 Element in 'aeiou' found at position 1 'e' found at position 6
Additional query words: STL STLSample basic_string::find_first_of
Keywords: kbhowto kbinfo kbprogramming kbtemplate kbstl kbcode KB157672