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

Изменение значения символа в строке - C++

Восстановить пароль Регистрация
 
Swarex
5 / 5 / 0
Регистрация: 12.12.2012
Сообщений: 183
22.10.2013, 18:40     Изменение значения символа в строке #1
например, есть строка
C++
1
string a = "ABC";
нужно заменить третий символ.
C++
1
a[2] = 'D';
- не работает,как присваивать значение символу строки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2013, 18:40     Изменение значения символа в строке
Посмотрите здесь:

C++ Поиск символа в строке
C++ Изменение начальных строк символа
C++ Изменение некоторого символа в массиве
Удаление символа в строке C++
C++ Замена символа в строке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vozup
5 / 5 / 0
Регистрация: 25.12.2011
Сообщений: 99
22.10.2013, 19:10     Изменение значения символа в строке #2
Вот так можно
C++
1
2
3
string a = "ABC";
    char b = 'D';
    a[2] = b;
Swarex
5 / 5 / 0
Регистрация: 12.12.2012
Сообщений: 183
22.10.2013, 19:31  [ТС]     Изменение значения символа в строке #3
vozup,
нельзя присваивать str[index] = 'c'
во-первых крайне криво работает во всех компиляторах, во-вторых - на http://www.cplusplus.com/reference/s...perator%5B%5D/ пишут что [] предусмотрено только для получения значения
Banddk
37 / 37 / 1
Регистрация: 08.12.2012
Сообщений: 157
Записей в блоге: 1
22.10.2013, 19:55     Изменение значения символа в строке #4
http://www.cplusplus.com/reference/cstring/strncpy/ можно с помощью этой функции.

Добавлено через 11 минут
Хотя ,нет ) это ведь для char)
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
22.10.2013, 20:07     Изменение значения символа в строке #5
C++
1
2
3
    std::string userString("ABC");
    userString.at(2) = 'D';
    std::cout << userString << std::endl;
и все прекрасно работает как и с []
Yandex
Объявления
22.10.2013, 20:07     Изменение значения символа в строке
Ответ Создать тему
Опции темы

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