Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
32 / 29 / 3
Регистрация: 10.01.2017
Сообщений: 1,228
1

Как найти "\n" в строке

06.09.2019, 12:48. Показов 3197. Ответов 4
Метки нет (Все метки)

Здравствуйте,

1)Подскажите пожалуйста, вот у меня есть string в нем текст с разделителем:
C++
1
string hw = "hello\nworld";
Мне соответсвенно нужно разделить два текста разделенные \n, а, для этого его хотя бы найти, нл что то не получается, я хотел сделать так:

C++
1
2
3
4
5
6
7
for(int i=0; i<hw.length(); i++)
{
if(hw[i] == '\' && hw[i+1] == 'n'];
{
cout<<"символ найден"<<endl;
}
}
Но на =='\' ругается.

Как все таки можно обнаружить этот символ ?

2)И чтоттотя не понял, почему:

C++
1
2
string str = "a\n";
cout <<str.size()<<endl;
Почему длинна 2 ?
\n разве считается ?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.09.2019, 12:48
Ответы с готовыми решениями:

Найти в строке последовательность символов ("abcd") и заменить ее другой ("xyz")
Найти в строке последовательность символов (&quot;abcd&quot;) и заменить ее другой (&quot;xyz&quot;).

Для каждой строки найти слова, которые не имеют ни одного из букв: "l", "k", "r", "s" i "j"
Задано символьные строки. Строка состоит из нескольких слов (наборов символов), которые разделяются...

Найти и заменить в строке все символы "а" на "b"
найти и заменить в ней все символы &quot;а&quot; на &quot;b&quot;

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;,...

4
бах-бах и в продакшен!
3037 / 1641 / 573
Регистрация: 23.09.2014
Сообщений: 5,115
Записей в блоге: 4
06.09.2019, 12:56 2
Лучший ответ Сообщение было отмечено Optimus11 как решение

Решение

Цитата Сообщение от Optimus11 Посмотреть сообщение
if(hw[i] == '\' && hw[i+1] == 'n'];
скобка у вас квадратная
нужно так:
C++
1
2
3
4
5
6
for(int i = 0; i < hw.length(); i++)
{
    if(hw[i] == '\n')
    {   cout << "символ найден" << endl;
    }
}
'\n' это символ переноса строки размером в один байт.
1
Mental handicap
1245 / 623 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
06.09.2019, 13:02 3
Лучший ответ Сообщение было отмечено Optimus11 как решение

Решение

Цитата Сообщение от Optimus11 Посмотреть сообщение
Но на =='\' ругается.
Как все таки можно обнаружить этот символ ?
\n - это один символ, искать надо так:
C++
1
if (str[i] == '\n')
, а еще лучше воспользоваться функцией find.
Цитата Сообщение от Optimus11 Посмотреть сообщение
Почему длинна 2 ?
\n разве считается ?
А почему нет?

Добавлено через 6 минут

Не по теме:

Цитата Сообщение от XLAT Посмотреть сообщение
'\n' это символ переноса строки размером в один байт.
Хорошо, что исправили :)

1
32 / 29 / 3
Регистрация: 10.01.2017
Сообщений: 1,228
06.09.2019, 13:03  [ТС] 4
Спасибо, все понял.
1
1 / 1 / 0
Регистрация: 19.07.2019
Сообщений: 13
06.09.2019, 13:04 5
C++
1
2
3
4
#include <iostream>
#include <string>
std::string test("test\ntest");
if (test.find("\n") != std::string::npos) std::cout << "символ найден";
Не советую использовать using namespace
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.09.2019, 13:04

На C++ в строке после символа - "+" поставить символ "*" и посчитать сколько "+"
С++ Мы вводим вручную строку , (через cin &gt;&gt; )программа должна после каждого &quot;+&quot; поставить &quot;*&quot; ...

Подсчитать, сколько букв "Р", "к", "т" в данной строке
дана строка подсчитать сколько в ней букв Р, к, т. помогите=)

Найти в строке слово, начинающееся буквой "а" и оканчивающееся буквой "я"
дана строка. найти какое-нибудь слово, начинающееся буквой а и оканчивающееся буквой я. если таких...

Определить, сколько в строке символов "*", ":", ";"
Учусь языку,не могу разобраться со строками,а точнее с их описанием! Помогите пожалуйста на примере...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.