Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск строки 
:(
    Опции темы
Abbath1349
Дата 7.1.2011, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 16.6.2010

Репутация: нет
Всего: нет



у меня есть    
Код

    static std::vector<std::string> v;
    std::vector<std::string>::iterator it;
    std::string find_val;
           

std::vector<std::string>::iterator it; содержит определённый текст std::string find_val; содержит  определённое слово как я могу узнать есть ли слово в строках? и желательно как потом можно разделить строку оставив то слово отделив то,что спереди и то,что сзади?
    
PM MAIL   Вверх
lamber
Дата 7.1.2011, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 20.12.2008

Репутация: нет
Всего: нет



Код


static std::vector<std::string> v;
std::vector<std::string>::iterator it;
std::string find_val;
size_t nPos;
for(it=v.begin();it!=v.end;it++)
{
nPos=*it.find(find_val);
if(nPos!=string::npos){
//нашел что-то сделать
}else{

//не нашел может тут что-то сделать
}


}


отделяем, как-то так, могу ошибатся с second_part но если не будет тогда маякни, щас не хочется собирать проект по пусту.
Код

find_val;

string first_part;
string second_part;
string line;
first_part=line.substr(0,nPos);
second_partline.substr(nPos+find_val.size(),line.size());


    

PM MAIL   Вверх
Abbath1349
Дата 9.1.2011, 06:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 16.6.2010

Репутация: нет
Всего: нет



Ругается он  Необработанное исключение в "0x7c812aeb" в "TextWithFind.exe": Исключение Microsoft C++: std::out_of_range по адресу 0x0012ed1c.. на отделение строки

Это сообщение отредактировал(а) Abbath1349 - 9.1.2011, 06:47
PM MAIL   Вверх
lamber
Дата 10.1.2011, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 20.12.2008

Репутация: нет
Всего: нет



Лучше код выложи. видимо что-то не так делаешь. Создал спецально чтоб про тестить все работает.

Код

#include <iostream>
#include <string>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    size_t nPos;
    string str("I'll try to picture close the information moved throw the computer");
    string needle("the");
    string first_part;
    string second_part;
    nPos=str.find(needle);
    if(nPos!=string::npos)
    {
        first_part=str.substr(0,nPos);
        second_part=str.substr(nPos+needle.size(),str.size());

    }
    cout<<"Original: "<<str<<endl;
    cout<<"needle: "<<needle<<endl;
    cout<<"First part:"<<first_part<<endl;
    cout<<"Second part:"<<second_part<<endl;
    getchar();
    return 0;
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.