Escape-последовательность в C ++, заключенная в одинарные кавычки вместо двойных кавычек [duplicate]

0

Я довольно долго использовал C и C++, и мне просто приходилось сталкиваться с программой, у которой были одиночные кавычки для \n, так как это был символ ('\n'). Он служит цели в порядке, и мое предположение - это что-то вроде строк, состоящих из массива символов, а \n - один символ и, следовательно, не имеет никакого значения. Мои 2 вопроса:

  1. Почему эта методика не популярна?
  2. Действительно ли \n один символ, как я предполагаю?
  • 0
    @ChrisCulter ChrisCulter, не совсем. OP знает символы и строки, но, по-видимому, не экранирующие последовательности. (Вопрос, вероятно, является дубликатом, но не для вопроса, который вы связали.)
  • 0
    @Yu Хао Нет, я имел в виду нас, используя в основном «\ n», а не «\ n».
Показать ещё 1 комментарий
Теги:

3 ответа

1
Лучший ответ

См. "Последовательности эвакуации". '\n' повсеместно означает новую строку. В ASCII это код 10 (0x0A). Все производные языки C (C++, Java, JavaScript, но также, например, Prolog, Bash, Python,...) используют '\n' качестве escape-последовательности для символа новой строки.

1

Они представляют собой одиночные символы, называемые управляющими символами. Нам нужно уметь видеть и набирать их так, чтобы они записывались как комбинация видимых символов, доступных на клавиатурах.

1

Ключевое различие между "\n" и "\n" заключается в том, что "\n" - это строка с символом новой строки (т.е. Буфер, состоящий из двух байтов: 0x0A и 0x00, являющийся 0x00 стандартным индикатором конца строки в строках C), тогда как '\n' является просто константой 0x0A.

  • 1
    «тогда как« \ n »- это просто константа 0x0A»: эта часть не совсем корректна. C не предписывает кодирование. Например, в EBCDIC код новой строки другой.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню