Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Yamko
11 / 11 / 3
Регистрация: 10.03.2013
Сообщений: 104
#1

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

27.06.2013, 22:39. Просмотров 561. Ответов 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
Ответы с готовыми решениями:

Замена символа в строке на число соответствующему номеру по порядку вхождения этого символа в строку
В заданной строке заменить каждый символ «*» числом, соответствующим номеру по...

Замена символа в строке
Подскажите пожалуйста почему код не работает корректно? #include...

Замена символа в строке на код
Здравствуйте! Не получается решить задание. Задание: Реализовать в виде...

Замена символа цифрами в строке
подскажите пожалуйста как заменить в строке символы цифрами? строка вводиться с...

Ошибка в коде(замена символа в строке)
Программа должна заменить все пробелы на знак '/' вот код: #include...

6
ValeryS
Модератор
7211 / 5474 / 681
Регистрация: 14.02.2011
Сообщений: 18,515
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 / 83
Регистрация: 03.02.2013
Сообщений: 772
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 / 3
Регистрация: 10.03.2013
Сообщений: 104
28.06.2013, 12:13  [ТС] #4
@abit, сделал, как Вы подсказали. Работает правильно, но еще и какой-то мусор выводит.

@ValeryS, если делать, так как сказали Вы, то после окончания работы программы выдает ошибку.
0
Миниатюры
Замена символа в строке  
Изображения
 
gray_fox
What a waste!
1553 / 1258 / 166
Регистрация: 21.04.2012
Сообщений: 2,636
Завершенные тесты: 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 / 3
Регистрация: 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!
1553 / 1258 / 166
Регистрация: 21.04.2012
Сообщений: 2,636
Завершенные тесты: 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

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

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

Замена в строке каждого второго символа "!" на "$"
Ребята, напишите пожалуйста программу. Я даже представления не имею какую...


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

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

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