Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.69
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
#1

Существует ли готовая функция экранирования кавычек, слешей и тому подобных символов? - C++

19.06.2012, 10:07. Просмотров 3421. Ответов 10
Метки нет (Все метки)

Существует ли готовая функция экранирования кавычек, слешей и тому подобных символов? Мне надо вывести c-строку в xml, а в ней есть кавычки и слеши.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2012, 10:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Существует ли готовая функция экранирования кавычек, слешей и тому подобных символов? (C++):

Json c++ send end write - существует ли готовая библиотека - C++
Здрасте, нужна такая штука которая бы умела посылать json обьекты методом post на кукую-нить страницу и получать оттуда json обьект в...

Консультация по конфигурации для tom Clancy division и тому подобных игр. - Игровой компьютер
1 раз пытаюсь собрать стационар, тапками прошу не кидаться). нужен для игр( tom Clancy division и тому подобные игры) года этак на 3-4-5...

Как называется функция экранирования - PHP
Здравсвуйте, подскажите как называется такая функция экранирования на php http%3A%2F%2Fwww.site.ru%2F&

Избежать символов экранирования в строке, передаваемой в качестве параметра запуска приложения - C#
Возникла проблема со строкой которая содержит символы экранирования. Строка передается как параметр для запуска приложения: string s=...

Сведение подобных символов в строке - Turbo Pascal
Нужно свести подобные символы в строке, если какой-то символа встречается 3 раза, удалить его вовсе, строк состоит из подстрок которые...

JS обфускатор, который превращает код в последовательность символов, подобных !+[] - JavaScript
Где найти обфускатор, который так умеет? все, что находил - обфускаторы, которые могут превратить код лишь частично(функции, ифы и т.д....

10
m3Ga
7 / 7 / 1
Регистрация: 09.10.2011
Сообщений: 47
19.06.2012, 10:13 #2
используй обратный слеш перед символом:
\\ = \
\' = '
\" = "
cout<<"\\ \* \'";
0
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
19.06.2012, 10:21  [ТС] #3
Ты думаешь, я не знаю экранирующий символ? Меня интересует функция, а не как она работает. У меня указатель на нультерминальную строку и формирует её система. Надо вывести в xml. А в строке полно слешей и есть кавычки. Есть такая готовая функция, или её надо делать?
0
Петррр
5972 / 3409 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
19.06.2012, 10:25 #4
taras atavin, а либа, которую Вы используете не умеет этого делать?
0
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
19.06.2012, 10:31  [ТС] #5
Какая либа? OpenGL что ли?
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
19.06.2012, 11:40 #6
taras atavin, А зачем вручную фигачить xml, если есть либы для работы с ним?
1
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
19.06.2012, 13:17  [ТС] #7
Я его не парсю, а только генерю. И кроме слешей с кавычками с остальным отлично справляются макросы.
0
Evg
Эксперт CАвтор FAQ
18369 / 6416 / 441
Регистрация: 30.03.2009
Сообщений: 17,799
Записей в блоге: 28
19.06.2012, 13:54 #8
Насколько я понимаю, проблема такая.

Есть код:

C
char *str="abc\"de\"";
printf ("%s\n", str);
который напечатает

Код
abc"de"
а он хочет, чтобы добавив функцию-конвертор

C
extern char* func (char*);
...
char *str="abc\"de\"";
printf ("%s\n", func (str));
чтобы код начал печатать:

Код
abc\"de\"
Подозреваю, что универсальной библиотеки такого рода нету, т.к. правила экранирования везде разные. А потому куда проще написать её самому
0
Петррр
5972 / 3409 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
19.06.2012, 14:03 #9
Evg, не совсем.

C
1
2
3
4
5
6
extern char* func (char*);
...
char *str="abc\"de\"";
printf ("%s\n", func (str));
 
// abc&amp;de&amp;
В XML амперсанд обозначается как - &amp;
0
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
19.06.2012, 16:59  [ТС] #10
Цитата Сообщение от Evg Посмотреть сообщение
Есть код:
Код C
char *str="abc\"de\"";
printf ("%s\n", str);
Нет. Строку я получаю из системы.

Добавлено через 50 секунд
Цитата Сообщение от Evg Посмотреть сообщение
Подозреваю, что универсальной библиотеки такого рода нету, т.к. правила экранирования везде разные. А потому куда проще написать её самому
Винда + хром.

Добавлено через 13 минут
Проблема оказалась не в слеше и не в кавычках, а в русском. Поставил правильное обозначение кодировки, теперь эйси.
0
Evg
Эксперт CАвтор FAQ
18369 / 6416 / 441
Регистрация: 30.03.2009
Сообщений: 17,799
Записей в блоге: 28
19.06.2012, 22:27 #11
Цитата Сообщение от Петррр Посмотреть сообщение
В XML амперсанд обозначается как - &amp;
Ну, в общем, это уже детали. Я просто хотел убедиться, что правильно постановку вопроса понял
0
19.06.2012, 22:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2012, 22:27
Привет! Вот еще темы с ответами:

Экранирование символов одинарных кавычек (апострофов) - PHP
Помогите мне решить проблемку, вот она... &lt;?php function slider() { echo ' &lt;div id=&quot;container-slider&quot;&gt; &lt;div id=&quot;slider&quot;&gt; ...

Есть ли в с++ готовая функция преобразующая строку в массив? - C++
Доброго времени суток! Есть ли в с++ готовая функция преобразующая строку в массив, как в php str_split() ?

Есть ли готовая функция для работы с массивами? - C++
Подскажите, что за функция в cpp есть, для форматирования массивов? Вот в павне можно было сделать так: char str; format(str, 256,...

Функция sqrt: существует более одного экземпляра. Функция перегруженная - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;iomanip&gt; using namespace std; int main(){ float s, p; int c, a; s=0; ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.