find_first_of (STL Sample)

basic_string::find_first_of (STL Sample)
The sample code below illustrates how to use the basic_string::find_first_of STL function in Visual C++.
Required Header:<string>
Prototype:
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 do not match the version in the header file. Some have been modified to improve readability.
Description:The member functions each find the first (lowest position) element of the controlled sequence at or after position iPos that matches any of the elements in the operand sequence specified by the remaining operands. If it succeeds, it returns the position. Otherwise, the function returns npos. The position returned is 0 (zero) based. The npos return value is a special value indicating that none of the elements were found.
Sample Code:
//
//
// Compile options needed: /GX
//
// main.cpp : Demonstrates the use of the string::find_first_of().
//
// Functions:
//
// 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.
//

#include <string>
#include <iostream>

using namespace std ;

void main()
{
string str1("Heartbeat");
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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值