Из такого большого количества ответов на этом сайте я не нашел четкого ответа, поэтому через 5-10 минут я сам понял его.
Но это можно сделать в двух случаях:
- Либо вы ЗНАЕТЕ положение искомой строки в строке
- Либо вы не знаете позицию и ищите ее, char by char ...
Итак, давайте предположим, что мы ищем подстроку "cd" в строке "abcde" и используем простейшую встроенную функцию substr в C ++
для 1:
#include <iostream>
#include <string>
using namespace std;
int i;
int main()
{
string a = "abcde";
string b = a.substr(2,2); // 2 will be c. Why? because we start counting from 0 in a string, not from 1.
cout << "substring of a is: " << b << endl;
return 0;
}
для 2:
#include <iostream>
#include <string>
using namespace std;
int i;
int main()
{
string a = "abcde";
for (i=0;i<a.length(); i++)
{
if (a.substr(i,2) == "cd")
{
cout << "substring of a is: " << a.substr(i,2) << endl; // i will iterate from 0 to 5 and will display the substring only when the condition is fullfilled
}
}
return 0;
}