Форум программистов, компьютерный форум CyberForum.ru

string::npos задать корректное условие - C++

Восстановить пароль Регистрация
Другие темы раздела
C++/CLI Создание архива CLI/CLR http://www.cyberforum.ru/cpp-beginners/thread658787.html
Я в Visual Studio 2010 C++. Мне ннада программно создать архив с файликами даже без сжатия. Даже пох как. Чтобы была папка и стала - один файл.
C++ Метод Симпсона помогите решить задачу в с++ задача в приложенном файле !! http://www.cyberforum.ru/cpp-beginners/thread658785.html
STL . Обращение к 12 элементу вектора C++
Добрый вечер, форумчане! Столкнулся вот с такой проблемой. Имеется вектор, заполненный числами, огромной длины. Но почему-то не хочет выводить 12й элемент... Вот соб-но код, пробую уже даже 2мя вариантами обратиться к нему: for(i=0; i<100; i++) { cout<<arr.at(i)<<" "; cout<<arr<<endl; }; Ну и, доходя до 12, программа выкидывает ошибку:
Условие выполнения цикла C++
#include <iostream.h> void main() { char a; int r=1; cin>>a; if(a==r) { cout<<"test"<<endl; }
C++ Как добавить в трей значок? http://www.cyberforum.ru/cpp-beginners/thread658758.html
Как добавить в трей значок?
C++ Составить программу, которая получает матрицу целых чисел А, размером m*n. Составить программу, которая получает матрицу целых чисел А, размером m*n. Если в исходной матрице все минимальные элементы нечетных строк сами нечетные, то программа создает новую матрицу. В новой матрице наибольший элемент каждой строки меняется местами с наименьшим элементом этой же строки. подробнее

Показать сообщение отдельно
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,508
27.09.2012, 00:12     string::npos задать корректное условие
Написал тут свой велоиспед, можно красивше, но тогда будет менее понятно.
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
#include <iostream>
#include <string>
#include <list>
using namespace std;
 
int main()
{
    string str="String ,   !! with ?? text.";
    list<string> words;
    string toFind=" ,.;!?[]1234567890";
    size_t startPos=str.find_first_not_of(toFind);
    size_t endPos=str.find_first_of(toFind,startPos+1);
    if(startPos!=string::npos && endPos==string::npos)//видимо только одно слово
        words.push_back(str);
    while(startPos!=string::npos && endPos!=string::npos)
    {
        words.push_back(str.substr(startPos,endPos-startPos));
        startPos=str.find_first_not_of(toFind,endPos+1);
        endPos=str.find_first_of(toFind,startPos+1);
    }
    list<string>::iterator it=words.begin();
    while(it!=words.end())
        cout<<*it++<<endl;
}
 
Текущее время: 17:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru