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

как взять слэш в кавычки? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Pavel1133
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 81
22.05.2011, 12:33     как взять слэш в кавычки? #1
как взять слэш в кавычки?
мне нужно заменить в строке \ на \\ с помощью функции replace но появилась проблема, нельзя написать "\" или '\' ((. Что делать?

Заранее спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GCW
17 / 17 / 1
Регистрация: 07.05.2011
Сообщений: 51
22.05.2011, 12:52     как взять слэш в кавычки? #2
Если я правильно понял, то в исходной строке, есть текст, вроде "mytext\mytexe2" нужно заменить на "mytext\\mytext2", то Вам нужно искать "\\" и менять на "\\\\".
В С++ символ \ является спецсимволом и его нужно экранировать, то есть писать \\
maks_IQ
 Аватар для maks_IQ
21 / 21 / 0
Регистрация: 05.01.2011
Сообщений: 173
22.05.2011, 13:36     как взять слэш в кавычки? #3
Pavel1133, попробуйте использовать / вместо \
Pavel1133
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 81
22.05.2011, 16:40  [ТС]     как взять слэш в кавычки? #4
можете подсказать как заменить \ на \\
replace(str.begin(),str.end(),'\\',"\\\\") не работает(
maks_IQ
 Аватар для maks_IQ
21 / 21 / 0
Регистрация: 05.01.2011
Сообщений: 173
22.05.2011, 16:48     как взять слэш в кавычки? #5
Pavel1133, если вам нужно использовать эту строку как путь к файлу, то попробуйте так:
C++
1
char * text = @"c:\1.txt";
не знаю как насчет c++, но в c# такое работало
GCW
17 / 17 / 1
Регистрация: 07.05.2011
Сообщений: 51
22.05.2011, 19:02     как взять слэш в кавычки? #6
Pavel1133
Вы не правильно используете метод string::replace поэтому и не получается.


Вот вам пример, как организовать такую замену

C++
1
2
3
4
5
6
size_t x=str.find("\\");
while(x!=string::npos)
{
    str.replace(x,1,"\\\\");
    x=str.find("\\",x+2);
}
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
22.05.2011, 19:38     как взять слэш в кавычки? #7
GCW, ТС пытался использовать это - http://www.cplusplus.com/reference/algorithm/replace/
GCW
17 / 17 / 1
Регистрация: 07.05.2011
Сообщений: 51
22.05.2011, 20:03     как взять слэш в кавычки? #8
С помощью replace из <algorithm>, на сколько мне известно, так сделать не получится, вот я и подумал, что речь шла о string::replace.

Если ошибся, извиняюсь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2011, 20:19     как взять слэш в кавычки?
Еще ссылки по теме:

Как из FB2 файла взять картинку C++
Как взять время из DateTimePicker? C++
Как поместить одни кавычки в другие C++

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

Или воспользуйтесь поиском по форуму:
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
22.05.2011, 20:19     как взять слэш в кавычки? #9
Понятно)
Да - да, не получится.
Yandex
Объявления
22.05.2011, 20:19     как взять слэш в кавычки?
Ответ Создать тему
Опции темы

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