29 / 29 / 18
Регистрация: 13.02.2010
Сообщений: 145
1

Find из string.h

09.09.2011, 19:03. Показов 98243. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Расскажите про функцию find из библиотеки строк. Не получается использовать, и какое значение она выдает, если в строке подстроки не оказалось?
Не посылайте на другие сайты
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.09.2011, 19:03
Ответы с готовыми решениями:

find() from string!
Ищу в строке вхождения подстроки, запоминаю номер. Если нашел, то удаляю подстроку и вставляю...

String::find работает некорректно
У меня есть такая подзадача: есть строка тегов(латинские буквы в треугольных строках, если тег...

Сравнение strchr и string::find
Здравствуйте, Интересно сравнить скорость поиска через strchr и string::find: string...

Метод find класса string
У меня задание: нужно написать программу, которая находит текст, в файле, показывает номер строки и...

7
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
09.09.2011, 19:10 2
Цитата Сообщение от Даня98 Посмотреть сообщение
какое значение она выдает, если в строке подстроки не оказалось?
C++
1
std::string::npos
1
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.09.2011, 19:10 3
Возвращает итератор на найденный элемент, если элемент не был найден, то возвращает итератор на конец строки. Так как-то.
А, стоп, это про find из алгоритмов.
Метод стринга возвращает индекс найденного элемента(или npos, если его нету).
1
29 / 29 / 18
Регистрация: 13.02.2010
Сообщений: 145
09.09.2011, 19:12  [ТС] 4
Цитата Сообщение от rangerx Посмотреть сообщение
std::string::npos
а какое значение по умолчанию, и как значение устанавливать?
0
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.09.2011, 19:17 5
Цитата Сообщение от Даня98 Посмотреть сообщение
а какое значение по умолчанию?
-1 обычно. Но зависит от реализации, так что так и нужно писать
C++
1
if ( str.find('x') == std::string::npos ) //не найдено
1
29 / 29 / 18
Регистрация: 13.02.2010
Сообщений: 145
09.09.2011, 19:18  [ТС] 6
странно, у меня выкидывало LONG_MAX как npos
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,961
09.09.2011, 19:28 7
В string.h никакого find в принципе нет. Есть strstr(). std::find() есть в algorithm, есть метод find() класса std::string объявленного в string...
1
22 / 22 / 2
Регистрация: 08.09.2011
Сообщений: 22
09.09.2011, 19:45 8
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Даня98 Посмотреть сообщение
Расскажите про функцию find из библиотеки строк. Не получается использовать, и какое значение она выдает, если в строке подстроки не оказалось?
Не посылайте на другие сайты

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "iostream"
#include "locale"
#include <string>
 
using namespace std ;
 
 
int main()
{
    setlocale(LC_ALL,".OCP") ;
 
    string str = "Hello friend" ;   //Строка для примера
 
    int pos = str.find("friend") ;  //Ищем "friend" в str
 
    /*Если функция find найдет совпадение, но она вернет нам позицию первого симсола
      совпадаемого слова. В нашем случаи это 6-ой симсов ( счет начинается с нуля )
    */
    wcout<< pos ;  //Выводим 6 на экран для подтверждения
    cout<<endl ;
 
     pos = str.find("Text") ; //Ищем  "Text" в строке str .
 
     /*У меня , при не нахождении текста выводит "-1" */
     wcout<<"Если не найдет мы получаем:" <<pos ;
 
 
    return 0;
}
12
09.09.2011, 19:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.09.2011, 19:45
Помогаю со студенческими работами здесь

std::string::find и кириллица
есть простенький код #include &lt;iostream&gt; // std::cout #include &lt;string&gt; //...

Почему std::string::find не находит подстроку?
Вот: std::string str = &quot;01234567890&quot;; int p = str.find(&quot;23&quot;, 0, 5); std::cout &lt;&lt; p;...

Как работает функция std::string::find(...)
здравствуйте есть допустим вот такой код #include &lt;iostream&gt; #include &lt;string&gt; using namespace...

Как использовать функции string::find или функция strstr(str1 ,str2)
как использовать функции string::find или функция strstr(str1 ,str2) Добавлено через 3 минуты...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru