Обнуление строки string
Какой смысл вы вкладываете во «временность» опустошения строки? А в не временном случае должно быть какое-то другое решение?
27 фев 2018 в 12:02
@Kromster что бы сразу отсеять предложения о полном удалении переменной через деструктор.
27 фев 2018 в 12:05
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
m.clear(); if (m.empty())
Отслеживать
ответ дан 27 фев 2018 в 11:57
moskalenco_a moskalenco_a
918 5 5 серебряных знаков 19 19 бронзовых знаков
Так даже лучше. clear() делает одну-единственную операцию — обнуляет поле длины строки. А исходно предлагаемое присваивание «» вызывает попытку скопировать строковый литерал (хоть и состоящий из одного нуль-терминатора).
27 фев 2018 в 12:19
@Arhad у clear сложность линейная, более того: «Effects: Behaves as if the function calls: erase(begin(), end()); «
27 фев 2018 в 14:22
@alexolut, libstdc++ так не думает. clear() вызывает _M_mutate() , передавая ей исходную длину строки и нули в качестве новой длины и смещения. Далее, единственное, что вызывает _M_mutate() с такими аргументами — это _M_set_length_and_sharable() , помечающая буфер общим и выполняющая this->_M_length = __n; . Получаем константную сложность.
Как очистить строку в C++?
Как очистить строку, чтобы в ней вообще ничего не было, как при создании?
- Вопрос задан более трёх лет назад
- 33837 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 5

Ищу работу. Контакты в профиле.
Ответ написан более трёх лет назад
Нравится 5 2 комментария
Nik_Haker @Nik_Haker Автор вопроса
без iostream можно?

1. Можно
2. А зачем?
3. А попробовать?
Сверхразум
Ответ написан более трёх лет назад

Зачем советовать что бы то ни было СМОТРЕТЬ?

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать

Константин @baraboshinkg
Программист С/С++
Если C строка то:
str[0] = 0;
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
int len = LEN_SIZE; char *txt; txt = malloc(sizeof(*txt)*len); for(int a = 0 ; a
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- C++
Не могу, понять как компьютер перемещает свой знак?
- 1 подписчик
- 19 часов назад
- 90 просмотров

- C++
- +2 ещё
Почему не компилируется код C++ в VS code/Platformio?
- 1 подписчик
- 22 часа назад
- 68 просмотров

- Программирование
- +1 ещё
Как решить задачу «Шестерки» с меньшими затратами памяти?
- 1 подписчик
- 03 янв.
- 126 просмотров

- C++
Что быстрее индексы или указатели?
- 1 подписчик
- 03 янв.
- 174 просмотра

- C#
- +4 ещё
Как реализовать движение частиц в векторном поле или сплошной среде?
- 1 подписчик
- 03 янв.
- 109 просмотров

- Windows
- +2 ещё
Как отлавливать курсор при наведении на дочернее окно?
- 1 подписчик
- 02 янв.
- 119 просмотров

- JavaScript
- +3 ещё
Как правильно рассчитать коэффициент полезного использования пространства?
- 1 подписчик
- 31 дек. 2023
- 232 просмотра

- Программирование
- +1 ещё
Как добавить карту в сервис?
- 1 подписчик
- 31 дек. 2023
- 102 просмотра

- Программирование
- +2 ещё
Полезность моделей памяти которые отличный от linear?
- 2 подписчика
- 31 дек. 2023
- 313 просмотров

- C++
Как обеспечивается совместимость динамических библиотек при ликовке в рантайме?
- 3 подписчика
- 30 дек. 2023
- 312 просмотров
До 200 000 ₽
от 300 000 до 350 000 ₽
от 160 000 ₽
08 янв. 2024, в 20:24
3000 руб./за проект
08 янв. 2024, в 20:10
500 руб./за проект
08 янв. 2024, в 19:59
50000 руб./за проект
Минуточку внимания
Присоединяйтесь к сообществу, чтобы узнавать новое и делиться знаниями
- Как наработать навык декомпозиции задач?
- 4 подписчика
- 3 ответа
- 2 подписчика
- 0 ответов
- 2 подписчика
- 2 ответа
- 3 подписчика
- 1 ответ
- 3 подписчика
- 0 ответов
- 2 подписчика
- 0 ответов
- 2 подписчика
- 5 ответов
- 2 подписчика
- 3 ответа
- 2 подписчика
- 1 ответ
- 2 подписчика
- 1 ответ
Очистка строки C++
Утро доброе.
Для чистки строк типа char используют memset, и подобные функции. А как очистить строку С++, то есть std::string .Наткнулся на метод clear, но так и не разобрался, он ли.
Голосование за лучший ответ
1) да, clear отчистит строку
2) memset для char* — слишком долго, текстовые Си-строки «чистятся» так: str[ 0 ] = 0; и всеstring s=»hello»;
s=»»;// очистить строку
Похожие вопросы
Ваш браузер устарелМы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
Программирование на C, C# и Java
Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы
ОСТОРОЖНО МОШЕННИКИ! В последнее время в соиальных сетях учстились случаи педложения помощи в написании прогамм от лиц, прикрвающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в псторонних группах ВК. Для связи с нами используйте исключительно эти контакт: vscoderu@yandex.ru, https://vk.com/vscode
Как удалить все цифры из строки на Си
Из статьи вы узнаете, как удалить все цифры из строки на Си. Будет приведен исходный код с комментариями. Можно скачать исходник программы. Используемый язык программирования — C.
Введение
Данная проблема часто встречается у новичков, и, практически каждый, кто более-менее серьезно увлекется программированием, столкнется с такой задачей. Вопрос, как удалить все цифры из строки с помощью языка программирования Си — это очень популярный запрос к поисковым машинам.
Для начала немножко теории. Формально, строк, как типа данных, в чистом Си — нет. Строка, в данном языке — это последовательность символьных элементов (массив типа char).
Строка обязательно должна завершаться символом конца строки: ‘\0’ (нулевой символ). Иначе при работе с, так называемыми, «строковыми» функциями (например: puts, printf, strcpy) будут возникать ошибки.
Удалить все цифры из строки
Пусть в символьном массиве in хранится исходная строка. Необходимо удалить все цифры из строки.