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

Строки (Из строки удалить ту часть, которая в "" (кавычках)) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ swap http://www.cyberforum.ru/cpp-beginners/thread864179.html
Доброго времени суток. Где можно почитать(с примерами) про реализацию свопинга на с++ и как это реализовано в разных операционных системах?
C++ Откуда взять прямую ссылку на файл? Вот в одном файлообменнике хочу свою прогу выставить, там пишется что главная ссылка должна быть прямо на файл. Откуда её взять? http://www.cyberforum.ru/cpp-beginners/thread864175.html
Программа в Visual Studio работает, а в Borland C++ нет C++
Здравствуйте! У меня такая проблемма: программа работает на Visual Studio, а на Borland C++ выдает 25(!) ошибок! Программа предполагает выбор пользователем соответствующего варианта работы (1,2,3)...
работа с большими текстовыми файлами C++
Здраствуйте, пишу загрузчик *.obj моделей, проблема в следующем, когда загружаю простую модель такую как куб, пирамиду все работает отлично как нужно, но при загрузке более сложных объектов (цилиндр,...
C++ Составить программу для вычисления http://www.cyberforum.ru/cpp-beginners/thread864132.html
Составить программу для вычисления R - сумма отрицательных элементов массива; Q - наибольший элемент массива; S – количество четных элементов массива. Полученные значения элементов R,Q,S,T...
C++ Задать случайным образом одномерный массив размерности N из целочисленных элементов, принадлежащих отрезку [-20;20]. Выполнить задание своего ва Задать случайным образом одномерный массив размерности N из целочисленных элементов, принадлежащих отрезку . Выполнить задание своего варианта. N вводится с клавиатуры. подробнее

Показать сообщение отдельно
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
28.05.2013, 18:05
SeregaC++, дело в том, что ваш пример сугубо адаптирован под стоку в которой есть двойные кавычки. Если же попробовать ввести стоку без кавычек: segfault. Немного адаптировал под этот случай ваш код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <algorithm>
 
int main()
{
    std::cout << "Put line: ";
    std::string line;
    std::getline(std::cin, line);
 
    std::string::iterator first = std::find(line.begin(), line.end(), '\"');
    std::string::iterator second = std::find(first+1, line.end(), '\"');
    if (second != line.end())
    {
        line.erase(first, ++second);
    }
 
    std::cout << line << std::endl;
}
Добавлено через 8 минут
А ещё лучше так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <algorithm>
 
int main()
{
    std::cout << "Put line: ";
    std::string line;
    std::getline(std::cin, line);
 
    std::string::iterator first = std::find(line.begin(), line.end(), '\"');
    if (first != line.end())
    {
        std::string::iterator second = std::find(first+1, line.end(), '\"');
        if (second != line.end())
        {
            line.erase(first, ++second);
        }
    }
 
    std::cout << line << std::endl;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru