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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.69
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
#1

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

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

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

Существует ли метод/функция перевода значения символьной переменной в int C++
Функция возвращающая существует ли соединение в данный момент C++
C++ Существует ли функция, которая позволяет отобразить окно поверх других?
C++ Есть ли в с++ готовая функция преобразующая строку в массив?
C++ Существует ли функция, которая из Decimal формата переводила бы в Binary
C++ Готовая программа, но надо подгрузить через функция( открыв файл)
C++ Есть ли готовая функция для работы с массивами?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
m3Ga
7 / 7 / 1
Регистрация: 09.10.2011
Сообщений: 47
19.06.2012, 10:13     Существует ли готовая функция экранирования кавычек, слешей и тому подобных символов? #2
используй обратный слеш перед символом:
\\ = \
\' = '
\" = "
cout<<"\\ \* \'";
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.06.2012, 10:21  [ТС]     Существует ли готовая функция экранирования кавычек, слешей и тому подобных символов? #3
Ты думаешь, я не знаю экранирующий символ? Меня интересует функция, а не как она работает. У меня указатель на нультерминальную строку и формирует её система. Надо вывести в xml. А в строке полно слешей и есть кавычки. Есть такая готовая функция, или её надо делать?
Петррр
5934 / 3371 / 334
Регистрация: 28.10.2010
Сообщений: 5,926
19.06.2012, 10:25     Существует ли готовая функция экранирования кавычек, слешей и тому подобных символов? #4
taras atavin, а либа, которую Вы используете не умеет этого делать?
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.06.2012, 10:31  [ТС]     Существует ли готовая функция экранирования кавычек, слешей и тому подобных символов? #5
Какая либа? OpenGL что ли?
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
19.06.2012, 11:40     Существует ли готовая функция экранирования кавычек, слешей и тому подобных символов? #6
taras atavin, А зачем вручную фигачить xml, если есть либы для работы с ним?
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.06.2012, 13:17  [ТС]     Существует ли готовая функция экранирования кавычек, слешей и тому подобных символов? #7
Я его не парсю, а только генерю. И кроме слешей с кавычками с остальным отлично справляются макросы.
Evg
Эксперт CАвтор FAQ
17289 / 5537 / 345
Регистрация: 30.03.2009
Сообщений: 15,064
Записей в блоге: 26
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\"
Подозреваю, что универсальной библиотеки такого рода нету, т.к. правила экранирования везде разные. А потому куда проще написать её самому
Петррр
5934 / 3371 / 334
Регистрация: 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;
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.06.2012, 16:59  [ТС]     Существует ли готовая функция экранирования кавычек, слешей и тому подобных символов? #10
Цитата Сообщение от Evg Посмотреть сообщение
Есть код:
Код C
char *str="abc\"de\"";
printf ("%s\n", str);
Нет. Строку я получаю из системы.

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

Добавлено через 13 минут
Проблема оказалась не в слеше и не в кавычках, а в русском. Поставил правильное обозначение кодировки, теперь эйси.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2012, 22:27     Существует ли готовая функция экранирования кавычек, слешей и тому подобных символов?
Еще ссылки по теме:

C++ Json c++ send end write - существует ли готовая библиотека
Функция для поиска символов C++
C++ Функция замены символов
C++ Преобразование русских символов, функция gets
C++ Массив символов и функция rand

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

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17289 / 5537 / 345
Регистрация: 30.03.2009
Сообщений: 15,064
Записей в блоге: 26
19.06.2012, 22:27     Существует ли готовая функция экранирования кавычек, слешей и тому подобных символов? #11
Цитата Сообщение от Петррр Посмотреть сообщение
В XML амперсанд обозначается как - &amp;
Ну, в общем, это уже детали. Я просто хотел убедиться, что правильно постановку вопроса понял
Yandex
Объявления
19.06.2012, 22:27     Существует ли готовая функция экранирования кавычек, слешей и тому подобных символов?
Ответ Создать тему
Опции темы

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