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

Удаление символа из строки - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 453, средняя оценка - 4.72
milke
2 / 2 / 0
Регистрация: 12.01.2011
Сообщений: 14
27.01.2011, 16:49     Удаление символа из строки #1
Как удалить символ (скобку) в заданной символьной строке?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fra Dolcino
0 / 0 / 0
Регистрация: 09.08.2011
Сообщений: 4
09.08.2011, 12:13     Удаление символа из строки #21
diagon, спасибо! А есть вариант с выводом в тот же файл?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
09.08.2011, 12:19     Удаление символа из строки #22
Fra Dolcino, а самому немножко подумать?
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.08.2011, 12:19     Удаление символа из строки #23
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <fstream>
#include <sstream>
#include <algorithm>
int main(){
    std::fstream input("input.txt");
    std::string text, line;
    while (std::getline(input, line) )
        text += line;
    text.erase(std::remove(text.begin(), text.end(), '\\' ), text.end() );
    input.close();
    input.open("input.txt", std::fstream::out);
    input << text;
}
Это если заменить текст.
Если добавить в конец - замените на std::fstream::app
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
09.08.2011, 12:40     Удаление символа из строки #24

Не по теме:

Цитата Сообщение от Nameless One Посмотреть сообщение
Насколько я знаю, это отличительная особенность именно unix
Вообще-то я в Linux/*nix не силен, но я в Ubuntu менял эти настройки (точнее, как пишут в книгах, настройки драйвера терминала), так, чтоб символ '\n' это был именно переход на новую строку, а не переход и возврат каретки. А Ubuntu, как известно, это не Unix

.
Nameless One
09.08.2011, 12:55
  #25

Не по теме:

Цитата Сообщение от Kastaneda Посмотреть сообщение
так, чтоб символ '\n' это был именно переход на новую строку, а не переход и возврат каретки
ну так я и говорю, что в unix символ '\n' - это аналог "\r\n" в windows

Сыроежка
Заблокирован
09.08.2011, 15:09     Удаление символа из строки #26
Цитата Сообщение от Nameless One Посмотреть сообщение

Не по теме:


ну так я и говорю, что в unix символ '\n' - это аналог "\r\n" в windows

В С и в С++ - это один символ, называемый концом строки. При использовании стандартных функций вывода представление этого символа в выходном потоке является платформа-зависимым.
Bambaster01
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 50
06.04.2014, 23:27     Удаление символа из строки #27
Народ, а как тогда реализовать функцию, которая будет в строке сдвигать все знаки препинания в конец строки из файла?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2016, 20:38     Удаление символа из строки
Еще ссылки по теме:

C++ Копирование из строки от символа до символа
Создать строку: с начало три символа первой строки, потом эти же три символа в обратном порядке C++
C++ Удаление символа перевода строки из самого конца файла

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

Или воспользуйтесь поиском по форуму:
smokeman
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 10
20.02.2016, 20:38     Удаление символа из строки #28
Цитата Сообщение от dr.curse Посмотреть сообщение
s.erase(i,1); // удаляет из строки символ с индексом i
а "1"-это количество удалённых символов?

Добавлено через 29 минут
Цитата Сообщение от Bambaster01 Посмотреть сообщение
Народ, а как тогда реализовать функцию, которая будет в строке сдвигать все знаки препинания в конец строки из файла?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
 using namespace std;
 
  int main(){
    cout<<"VVedite soobshenie"<< endl;
    int i;
    string s;
    string tmp ="";
    cin>>s;
    for(i=0;i<s.size();i++){
    if (s[i] == '/' || s[i] == '.' || s[i] == ',' || s[i] == '-' || s[i] == '...'){
        tmp = s[i]+tmp;
        s = s.erase(i,1);
    }
    }
    s = s+ tmp;
    cout<<s;
  }
Если что не так,прости,писал на коленках
Yandex
Объявления
20.02.2016, 20:38     Удаление символа из строки
Ответ Создать тему
Опции темы

Текущее время: 01:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru