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

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

Войти
Регистрация
Восстановить пароль
 
ems2811
2 / 2 / 0
Регистрация: 14.04.2009
Сообщений: 36
#1

Заменить все(один) символ(ы) в Unicode строке - C++

17.06.2014, 17:29. Просмотров 537. Ответов 5
Метки нет (Все метки)

Здравствуйте. поиск по интернету не дал результатов. Каким образом можно заменить все вхождения символа в строке wchar_t (visual studio) или хотя бы одного, чтоб функцию сам написал?
например в строке заменить \ на / без преобразования
C++
1
wchar_t *str=L"C:\\Temp\\folder"
строка L"X" при таком подходе видимо имеет терминатор (что внезапно обрывает строку)
C++
1
wcscpy(&s[1],L"X");
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2014, 17:29     Заменить все(один) символ(ы) в Unicode строке
Посмотрите здесь:

C++ Найти в строке string наиболее часто встречающуюся пару символов и заменить на один новый символ
Есть ли в строке хоть один символ? C++
C++ В строке символов заменить каждый второй символ s на f
C++ Заменить всюду один заданный символ на последовательность из пяти таких символов
Заменить в строке последовательность пробелов на один пробел. C++
Заменить в каждой сроке один заданный символ на другой заданный символ C++
Заменить один символ в тексте двумя C++
Заменить один символ на несколько C++
C++ Заменить в строке символ 'q' на номер вхождения в строку в обратном порядке
Поменять в строке несколько символов на один символ C++
Заменить в строке символ на другую строку C++
Заменить все символы строки на один заданный символ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4521 / 3859 / 1296
Регистрация: 14.04.2014
Сообщений: 15,130
17.06.2014, 17:51     Заменить все(один) символ(ы) в Unicode строке #2
C++
1
s[1] = L'X';
ems2811
2 / 2 / 0
Регистрация: 14.04.2009
Сообщений: 36
17.06.2014, 19:04  [ТС]     Заменить все(один) символ(ы) в Unicode строке #3
так можно если строка сделана не указателем (L"X" = [L"X"][0])
C++
1
2
wchar_t str[]=L"Some text";
str[3]=L"X"[0]
а как можно если строка объявлена так:
C++
1
wchar_t *str=L"Some text"
nmcf
4521 / 3859 / 1296
Регистрация: 14.04.2014
Сообщений: 15,130
17.06.2014, 21:07     Заменить все(один) символ(ы) в Unicode строке #4
Какая разница? С указателем также. И не надо L"X"[0], просто L'X' (с одинарными кавычками).
ems2811
2 / 2 / 0
Регистрация: 14.04.2009
Сообщений: 36
17.06.2014, 22:31  [ТС]     Заменить все(один) символ(ы) в Unicode строке #5
C++
1
2
wchar_t *t=L"Text";
t[1]=L'X';
Unhandled exception: Access violation
nmcf
4521 / 3859 / 1296
Регистрация: 14.04.2014
Сообщений: 15,130
17.06.2014, 22:47     Заменить все(один) символ(ы) в Unicode строке #6
Не задавай так строку.
C++
1
2
3
wchar_t str0[]=L"Some text";
wchar_t *t = str0;
t[1]=L'X';
Yandex
Объявления
17.06.2014, 22:47     Заменить все(один) символ(ы) в Unicode строке
Ответ Создать тему
Опции темы

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