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

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

Восстановить пароль Регистрация
 
Yamko
11 / 11 / 2
Регистрация: 10.03.2013
Сообщений: 104
27.06.2013, 22:39     Замена символа в строке #1
Доброго времени суток. Помогите разобраться с ошибкой.

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 индекс символа в слове.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2013, 22:39     Замена символа в строке
Посмотрите здесь:

C++ Замена символа
замена символа C++
замена символа C++
Замена символа на строку. C++
C++ Ошибка в коде(замена символа в строке)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,043
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]="Вася";
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
27.06.2013, 23:40     Замена символа в строке #3
глядел-глядел на список шаблонов string::replace и не разглядел там int,int,char
http://www.cplusplus.com/reference/s...tring/replace/

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

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

Добавлено через 1 минуту
И почему бы не
C++
1
secret[position] = buff;
?
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);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2013, 12:30     Замена символа в строке
Еще ссылки по теме:

Замена символа C++
C++ Замена символа w на пробел

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

Или воспользуйтесь поиском по форуму:
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
28.06.2013, 12:30     Замена символа в строке #7
@Yamko, сколько копий символа вставлять. Смотрите сами, абсолютно всё помнить совершенно не обязательно: http://en.cppreference.com/w/cpp/str...string/replace .
Yandex
Объявления
28.06.2013, 12:30     Замена символа в строке
Ответ Создать тему
Опции темы

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