unixforum.org
C++: экранирование двойных кавычек и двойного обратного слеша
3 сообщения • Страница 1 из 1
ArkanJR Сообщения: 1160 Статус: Профан
C++: экранирование двойных кавычек и двойного обратного слеша
Сообщение ArkanJR » 10.06.2015 18:38
Имеется следующий код:
#include #include #include using namespace std; int main()
При запуске полученного бинарника на экран выводится:
Почему выводится один обратный слеш в кавычках, а не два?
— Да, это была ошибка, Кемп, огромная ошибка, что я взялся один за это дело. Напрасно потрачены силы, время, возможности. Один… Удивительно, как беспомощен человек, когда он один! Мелкая кража, потасовка — и всё.
© Г. Уэллс «Человек-невидимка»
Спасибо сказали:
Bizdelnick Модератор Сообщения: 20567 Статус: nulla salus bello ОС: Debian GNU/Linux
Re: C++: экранирование двойных кавычек и двойного обратного слеша
Сообщение Bizdelnick » 10.06.2015 20:07
Первый обратный слеш экранирует идущую за ним кавычку. Остаётся только кавычка.
Второй обратный слеш экранирует третий обратный слеш. Остаётся один обратный слеш.
Четвёртый обратный слеш экранирует кавычку. Остаётся кавычка.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
ArkanJR Сообщения: 1160 Статус: Профан
Re: C++: экранирование двойных кавычек и двойного обратного слеша
Сообщение ArkanJR » 10.06.2015 20:32
10.06.2015 20:07
Первый обратный слеш экранирует идущую за ним кавычку. Остаётся только кавычка.
Второй обратный слеш экранирует третий обратный слеш. Остаётся один обратный слеш.
Четвёртый обратный слеш экранирует кавычку. Остаётся кавычка.
Супер! Понятней некуда!
— Да, это была ошибка, Кемп, огромная ошибка, что я взялся один за это дело. Напрасно потрачены силы, время, возможности. Один… Удивительно, как беспомощен человек, когда он один! Мелкая кража, потасовка — и всё.
© Г. Уэллс «Человек-невидимка»
Экранирование двойных кавычек
Разработать программу для удаления двойных пробелов и двойных запятых
Привет всем, помогите разработать программу для удаления двойных пробелов и двойных запятых. А так.
Лишнее экранирование? Одинарных и двойных кавычек
Добрый день! Вопрос такой — уже дня 3 никак не могу решить проблему с правильными отправкой и.
Удвоение двойных кавычек
Здравствуйте, уважаемые all! Сцепляю несколько десятков ячеек. В результирующей ячейке получаю.
C#: Кавычки
Какие из этих пяти вариантов — строки? С первыми двумя все понятно, это точно строки, мы уже работали с подобными конструкциями. А что насчет остальных? Любой одиночный символ в кавычках — это строка. Пустая строка «» — это тоже строка. То есть строкой мы считаем всё, что находится внутри кавычек, даже если это пробел, один символ или вообще отсутствие символов.
Представьте, что вы хотите напечатать строчку dragon’s mother. Апостроф перед буквой s — это такой же символ, как одинарная кавычка. Попробуем:
Такой вариант программы отработает корректно:
Console.WriteLine("Dragon's mother");
А что, если мы хотим создать такую строку:
Dragon's mother said "No"
В ней есть и одинарные и двойные кавычки. Как быть в этой ситуации? Если просто попытаться вывести такую строку, то мы получим ошибку:
// Завершится с синтаксической ошибкой Console.WriteLine("Dragon's mother said "No"");
С точки зрения C#, здесь странная конструкция состоящая из строк «Dragon’s mother said « и «» и No между ними без пробелов. Причем последнее не рассматривается как строка, оно не в кавычках. Значит прямым способом эту строчку не вывести.
Для вывода таких строк используют символ экранирования: \ . Если поставить \ перед кавычкой, это будет означать, что кавычку нужно рассматривать не как начало или конец строки, а как часть строки.
Console.WriteLine("Dragon's mother said \"No\"");
Задание
Напишите программу, которая выведет на экран:
"Khal Drogo's favorite word is "athjahakar""
Программа должна вывести на экран эту фразу в точности. Обратите внимание на кавычки в начале и в конце фразы.
Упражнение не проходит проверку — что делать?
Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:
- Обязательно приложите вывод тестов, без него практически невозможно понять что не так, даже если вы покажете свой код. Программисты плохо исполняют код в голове, но по полученной ошибке почти всегда понятно, куда смотреть.
В моей среде код работает, а здесь нет
Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.
Мой код отличается от решения учителя
Это нормально , в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.
В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.
Прочитал урок — ничего не понятно
Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.
Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.
Как вывести кавычки в c
Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.12.2008
Репутация: нет
Всего: нет
Как в C при помощи printf вывести кавычки в строке.
Решил попрактиковаться в выводе текстовых строк.
Нужно вывести кавычки внутри строки через printf, какие специальные символы для того используются.
Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия
Репутация: 85
Всего: 196
Надо использовать «экранирование» обратным слешем:
Код |
printf(«My text is: \»my text\»\n»); |
Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.12.2008
Репутация: нет
Всего: нет
Спасибо bsa, тоже уже нашёл, но тем не менее.
Запрещается!
1. Публиковать ссылки на вскрытые компоненты
2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
- Действия модераторов можно обсудить здесь
- С просьбами о написании курсовой, реферата и т.п. обращаться сюда
- Вопросы по реализации алгоритмов рассматриваются здесь
- FAQ раздела лежит здесь!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
[ Время генерации скрипта: 0.1031 ] [ Использовано запросов: 21 ] [ GZIP включён ]