Caracteres de escape de C++

Muhammad Husnain 16 febrero 2024
  1. Caracteres de control en C++
  2. Caracteres de puntuación en C++
  3. Referencias de caracteres numéricos en C++
Caracteres de escape de C++

Este tutorial discutirá primero los caracteres de escape en C y C++. La única advertencia aquí es que el uso de códigos hexadecimales supone tener una codificación de caracteres compatible con ASCII.

Caracteres de control en C++

\a \x07 alerta (campana), que produce el sonido de campana en la mayoría de las computadoras
\b \x08 retroceso
\t \x09 pestaña horizontal
\n \x0A nueva línea
\v \x0B pestaña vertical
\f \x0C alimentación de formulario
\r \x0D retorno de carro (la tecla Enter en la mayoría de las computadoras)
\e \x1B Escape (Esto no es estándar. Es posible que no siempre encuentre esto)

Caracteres de puntuación en C++

\" son las comillas (apóstrofe doble). Además, tenga en cuenta que la barra invertida no será necesaria si el carácter se escribe como '"'.

\' = apóstrofe. Nuevamente, la barra invertida no será requerida en un caso específico, y esta vez es "'".

\? = Signo de interrogación (Sin embargo, solo se usa en casos específicos, como evitar trigraphs. En C, Trigraphs son grupos de 3 caracteres que tienen un significado específico cuando se usan juntos.

Por ejemplo, el trígrafo ??= es equivalente al signo de puntuación #. Se puede encontrar más información en esta documentación.

\\ = Barra invertida. Para cuando necesite escribir una barra invertida.

Referencias de caracteres numéricos en C++

\ +(signo más) cualquiera de los 3 dígitos octales.

\x + más cualquier número de dígitos hexadecimales. Tenga en cuenta que el compilador lee los dígitos hexadecimales hasta que encuentra el primer dígito no hexadecimal y, después de encontrar el primer dígito no hexadecimal, deja de leer los dígitos del carácter actual.

\u + más 4 dígitos hexadecimales (Unicode BMP, agregado en C++11).

\U + más 8 dígitos hexadecimales (planos astrales Unicode, agregados en C++11).

\0 = \00 = \000 = Carácter nulo.

Otro caso especial es \e, que no es estándar en C o C++ pero que algunos compiladores utilizarían para representar \x1B.

Si desea tener algo no estándar, por ejemplo, para construir una cadena con un carácter 0, seguido de un carácter nulo \0, seguido por el carácter 0 una vez más, entonces tiene un par de opciones

Sintaxis de concatenación de cadenas:

std::string(
    "0\0"
    "0",
    3);

Sintaxis de la lista de inicializadores:

std::string{'0', 0, '0'};

En general, se prefiere usar la última opción sobre la primera, ya que evita especificar tamaños y también puede evitar usar los caracteres de escape por completo.

Muhammad Husnain avatar Muhammad Husnain avatar

Husnain is a professional Software Engineer and a researcher who loves to learn, build, write, and teach. Having worked various jobs in the IT industry, he especially enjoys finding ways to express complex ideas in simple ways through his content. In his free time, Husnain unwinds by thinking about tech fiction to solve problems around him.

LinkedIn