73 / 70 / 67
Регистрация: 18.09.2015
Сообщений: 234
1

Найти в строке way левый слеш и заменить его на правый

20.11.2016, 18:17. Показов 1767. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код, нужно найти в строке way левый слеш и заменить его на правый)
C++
1
2
3
4
5
6
void main()
{
    string way("asdas\sdasd\dsa");
    int pos = way.find("");
    cout << pos << endl;
}
проблема в том, что в строке не слеши, на с++ слеш -> двойной слеш. В строке находятся символы \s и \d.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2016, 18:17
Ответы с готовыми решениями:

В каждой строке найти первый отрицательный элемент и заменить его произведением этого элемента на его номер в строке
Всем привет! Дана задача Задана матрица X(5,4). В каждой строке найти первый отрицательный...

Найти левый и правый крайние отрицательные элементы в массиве из 20 элементов
Помогите решить проблему. Есть задание &quot;Создать целочисленный массив из 20 элементов.Заполнить его...

Как формулами заменить в строке обратный слеш на двойной
Получаю @NameLookup-ом путь к базе резервирования: firstfolder\rooms.nsf Потом по ней надо сделать...

Левый и правый блок
Пишу главную страницу сайта. Возникла проблема. Я сделал две колонки через float, одну левую,...

2
52 / 41 / 16
Регистрация: 16.12.2012
Сообщений: 144
20.11.2016, 19:09 2
Цитата Сообщение от amaralikyr Посмотреть сообщение
string way("asdas\sdasd\dsa");
Тогда замени '\' на '\\' в исходной строке , будут обратные слэши .
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int _tmain(int argc, _TCHAR* argv[])
{
    string way("asd\\asd\\asd\\asd\\adf");
 
    for (int i = 0; i < way.length(); i++)
        {
            if (way[i] == '\\')
                {
                    way[i] = '/' ;
                    break;
                }
        }
    cout << way << endl;
    system("pause");
    return 0;
}
1
Неэпический
17815 / 10586 / 2044
Регистрация: 27.09.2012
Сообщений: 26,627
Записей в блоге: 1
22.11.2016, 10:07 3
Цитата Сообщение от amaralikyr Посмотреть сообщение
что в строке не слеши
Можно использовать сырые литералы:
C++
1
std::string way(R"xXx(asdas\sdasd\dsa)xXx");
Цитата Сообщение от amaralikyr Посмотреть сообщение
C++
1
int pos = way.find("\");
C++
1
std::size_t pos = way.find(R"xXx(\)xXx");
C++
1
std::string::size_type pos = way.find(R"xXx(\)xXx");
C++
1
auto pos = way.find(R"xXx(\)xXx");
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2016, 10:07
Помогаю со студенческими работами здесь

Правый блок съезжает на левый
На сайте есть 2 блока- левый с рекламой, правый статьям. Правый блок седзжает на левый, хотя float...

Левый и правый двоичный поиск
Дано два списка чисел, числа в первом списке упорядочены по неубыванию. Для каждого числа из...

Левый и правый двоичный поиск
Дано два списка чисел, числа в первом списке упорядочены по неубыванию. Для каждого числа из...

Левый и правый двоичный поиск
Помогите, пожалуйста, не проходит 1 тест, не понимаю из-за чего :( Дано два списка чисел, числа...


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

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

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