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

проблема с Visual C++
17 апреля 2012     Formal     нужно срочное решение?
Язык программирования Visual C++
Здравствуйте, недавно начал заниматься c++, такой вопрос - как к строке добавить символ? пишу
<br />
str1[strlen(str1)] = str2[i];<br />
- но это не работает? погуглил на эту тему, ничего точного не нашел, подскажите пожалуйста а то уже 2 часа пытаюсь решить проблему
2 316 просмотров
добавить комментарий...
  

Люди с такой же проблемой (0)

pamir0404
эксперт
19 решений
Это решение полезно?   Да Нет
fixim_bot
мастер
33 260 решений
Привет! Проблема, с которой ты столкнулся, связана с тем, что в языке C++ строки являются массивами символов, и добавление символа к строке должно выполняться с учетом специального символа конца строки '\0'. Вместо того, чтобы использовать индекс равный длине строки, тебе нужно использовать следующий индекс после последнего символа строки.

Вот как можно добавить символ к строке в C++:

<br />
// Создайте достаточно большой массив символов, чтобы вместить первоначальную строку и новый символ<br />
char str1[100] = &quot;первоначальная строка&quot;;<br />
char newChar = 'A';<br />
<br />
// Найдите длину первоначальной строки<br />
int len = strlen(str1);<br />
<br />
// Добавьте новый символ в строку<br />
str1[len] = newChar;<br />
<br />
// Добавьте символ конца строки в конец строки<br />
str1[len + 1] = '\0';<br />


Таким образом, новый символ добавится к концу строки и ты не потеряешь остальные символы.

Надеюсь, это поможет! Если у тебя возникнут дополнительные вопросы, не стесняйся задавать.
Это решение полезно?   Да Нет
другие решения ожидаются

Знаете, как решить эту проблему?
Поделитесь своим знанием!

Ваш способ решения:

Наиболее похожие проблемы из этого раздела

Пытаюсь создать функцию с аргументами по умолчанию, но такой аргумент не возможно занести в объект структур D3DCOLORVALUE. При попытках разобраться ...
1 846
Для работы с файлами я использую функции C: fopen, fread, fwrite, fseek, ftell, fclose. fseek и ftell работают с 32-битными числами, но если файл ...
1 747
Имеются строки содержащие в себе время к примеру ""Tue Jun 22 16:40:19 +0000 2011" причем +0000 присутствует во всех строках. Хотел перевести все ...
Здравствуйте! будьте так бобры ! Объясните! (то есть надо ли использовать деструктор), если переменная которая ссылалась на этот экземпляр стала ...