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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Yamko
11 / 11 / 2
Регистрация: 10.03.2013
Сообщений: 104
#1

Замена символа в строке - C++

27.06.2013, 22:39. Просмотров 533. Ответов 6
Метки нет (Все метки)

Доброго времени суток. Помогите разобраться с ошибкой.

2 IntelliSense: отсутствуют экземпляры перегруженная функция "std::basic_string<_Elem, _Traits, _Alloc>::replace [с _Elem=char, _Traits=std::char_traits<char>, _Alloc=std::allocator<char>]", соответствующие списку аргументов
типы аргументов: (int, int, char)
тип объекта: std::string c:\Users\Yamko\Documents\Visual Studio 2012\Projects\vis\vis\game.cpp 25 12 vis

C++
1
2
3
char buff;
int position;
secret.replace(position, 1 ,buff);
В buff заносится символ. В position индекс символа в слове.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2013, 22:39
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Замена символа в строке (C++):

Замена символа в строке - C++
Подскажите пожалуйста почему код не работает корректно? #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cstring&gt; #include...

Замена символа цифрами в строке - C++
подскажите пожалуйста как заменить в строке символы цифрами? строка вводиться с консола динамическию например: &quot;smart &quot; если s-01 ...

Замена символа в строке на код - C++
Здравствуйте! Не получается решить задание. Задание: Реализовать в виде функции, использующей для работы со строкой только указатели и...

Замена одного символа на другой в строке - C++
Условие такое: Дана символьная строка. Заменить все символы '!' точками, кроме первого встречающегося в строке, и вывести полученную строку...

Ошибка в коде(замена символа в строке) - C++
Программа должна заменить все пробелы на знак '/' вот код: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int...

Определить последнее вхождение символа “р” в строке и вывести строку, начиная с первого символа и до последнего “р” в строке - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить последнее вхождение символа “р” в строке и вывести строку, начиная с...

6
ValeryS
Модератор
7013 / 5351 / 528
Регистрация: 14.02.2011
Сообщений: 18,055
27.06.2013, 22:44 #2
ты думаешь
Цитата Сообщение от Yamko Посмотреть сообщение
char buff;
это строка?
нет это одиночный символ
вот строка
C++
1
char buff[];
например строка на 32 символа
C++
1
char buff[32];
но после такого объявления там будет лежать мусор
нужно или обнулить строку
C++
1
char buff[32]={0};
или занести значение
C++
1
char buff[32]="Вася";
1
abit
272 / 271 / 36
Регистрация: 03.02.2013
Сообщений: 770
27.06.2013, 23:40 #3
глядел-глядел на список шаблонов string::replace и не разглядел там int,int,char
http://www.cplusplus.com/reference/string/string/replace/

может так?
C++
1
secret.replace(position, 1 ,&buff);
Добавлено через 30 секунд
@ValeryS,
вы не внимательно прочитали
строка у него в secret
1
Yamko
11 / 11 / 2
Регистрация: 10.03.2013
Сообщений: 104
28.06.2013, 12:13  [ТС] #4
@abit, сделал, как Вы подсказали. Работает правильно, но еще и какой-то мусор выводит.

@ValeryS, если делать, так как сказали Вы, то после окончания работы программы выдает ошибку.
0
Миниатюры
Замена символа в строке  
Изображения
 
gray_fox
What a waste!
1552 / 1257 / 74
Регистрация: 21.04.2012
Сообщений: 2,634
Завершенные тесты: 3
28.06.2013, 12:19 #5
@Yamko,
C++
1
secret.replace(position, 1, 1, buff);
?

Добавлено через 1 минуту
И почему бы не
C++
1
secret[position] = buff;
?
1
Yamko
11 / 11 / 2
Регистрация: 10.03.2013
Сообщений: 104
28.06.2013, 12:25  [ТС] #6
Цитата Сообщение от gray_fox Посмотреть сообщение
@Yamko,
C++
1
secret.replace(position, 1, 1, buff);
?

Добавлено через 1 минуту
И почему бы не
C++
1
secret[position] = buff;
?
Спасибо. Работают оба варианта. Второй сразу не использовал, чтобы "запомнить" ф-цию замены в строках. Если не трудно, объясните для чего вторая единица
C++
1
secret.replace(position, 1, 1, buff);
0
gray_fox
What a waste!
1552 / 1257 / 74
Регистрация: 21.04.2012
Сообщений: 2,634
Завершенные тесты: 3
28.06.2013, 12:30 #7
@Yamko, сколько копий символа вставлять. Смотрите сами, абсолютно всё помнить совершенно не обязательно: http://en.cppreference.com/w/cpp/string/basic_string/replace .
1
28.06.2013, 12:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2013, 12:30
Привет! Вот еще темы с ответами:

Замена в строке каждого второго символа "!" на "$" - C++
Ребята, напишите пожалуйста программу. Я даже представления не имею какую функцию нужно использовать в задаче: &quot;Ввести с клавиатуры...

В строке заменить каждый символ «!» числом, равным индексу этого символа в строке - C++
В заданной строке заменить каждый символ «!» числом, равным индексу этого символа в строке. Сделал просто замену символа на любой ...

замена символа - C++
Здрасти. почиму не работает такой вариант? char* b=&quot;123456&quot;; *(b+2)='*'; что нужно изменить чтобы заработало?

замена символа - C++
Собственно учу си по манам из инетов, есть вот такой пример #include &lt;stdio.h&gt; void sp_to_dash(const char *str); int main(void)...


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

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

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