Declare la cadena multilínea en C++
-
Usa la clase
std::string
para declarar una cadena multilínea en C++ -
Usa la notación
const char *
para declarar literales de cadena de caracteres múltiples -
Usa la notación
const char *
con caracteres de retroceso Declarar cadena multilínea literal
Este artículo explicará varios métodos de cómo declarar una cadena multilínea en C++.
Usa la clase std::string
para declarar una cadena multilínea en C++
El objeto std::string
puede ser inicializado con un valor de cadena. En este caso, declaramos la variable string s1
como una variable local de la función main
. C++ permite que múltiples literales de cadena con doble cita se concatenen automáticamente en una declaración. Como resultado, se puede incluir cualquier número de líneas mientras se inicializa la variable string
y mantener el código más consistentemente legible.
#include <iostream>
#include <iterator>
#include <string>
#include <vector>
using std::copy;
using std::cout;
using std::endl;
using std::string;
using std::vector;
int main() {
string s1 =
"This string will be printed as the"
" one. You can include as many lines"
"as you wish. They will be concatenated";
copy(s1.begin(), s1.end(), std::ostream_iterator<char>(cout, ""));
cout << endl;
return EXIT_SUCCESS;
}
Producción :
This string will be printed as the one. You can include as many linesas you wish. They will be concatenated
Usa la notación const char *
para declarar literales de cadena de caracteres múltiples
En la mayoría de las situaciones, sin embargo, puede ser más práctico declarar una cadena de sólo lectura literal con un calificativo de const
. Esto es más práctico cuando los textos relativamente largos deben salir a la consola, y estos textos son en su mayoría estáticos con pocos o ningún cambio a lo largo del tiempo. Nótese que, la cadena de caracteres del calificador const
necesita ser convertida al objeto std::string
antes de pasar como argumento del algoritmo copy
.
#include <iostream>
#include <iterator>
#include <string>
#include <vector>
using std::cin;
using std::copy;
using std::cout;
using std::endl;
using std::string;
using std::vector;
int main() {
const char *s2 =
"This string will be printed as the"
" one. You can include as many lines"
"as you wish. They will be concatenated";
string s1(s2);
copy(s1.begin(), s1.end(), std::ostream_iterator<char>(cout, ""));
cout << endl;
return EXIT_SUCCESS;
}
Producción :
This string will be printed as the one. You can include as many linesas you wish. They will be concatenated
Usa la notación const char *
con caracteres de retroceso Declarar cadena multilínea literal
Alternativamente, también se puede utilizar el carácter de barra invertida \
para construir un literal de cadena multilínea y asignarlo al puntero char
calificado const
. En breve, el carácter de barra invertida debe ser incluido al final de cada salto de línea, lo que significa que la cadena continúa en la siguiente línea.
Tenga en cuenta, sin embargo, que el espaciado se vuelve más propenso a errores ya que cualquier carácter invisible como tabulaciones o espacios se incluirán en la salida. Por otro lado, uno podría utilizar esta característica para mostrar algunos patrones más fácilmente para consolar.
#include <iostream>
#include <iterator>
#include <string>
#include <vector>
using std::cin;
using std::copy;
using std::cout;
using std::endl;
using std::string;
using std::vector;
int main() {
const char *s3 =
" This string will\n\
printed as the pyramid\n\
as one single string literal form\n";
cout << s1 << endl;
printf("%s\n", s3);
return EXIT_SUCCESS;
}
Producción :
This string will
printed as the pyramid
as one single string literal form
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn FacebookArtículo relacionado - C++ String
- Encuentre el primer carácter repetido en una cadena en C++
- Encuentre la subcadena común más larga en C++
- Poner en mayúscula la primera letra de una cadena en C++
- Comparación de cadenas y caracteres en C++
- Eliminar el último carácter de una cadena en C++
- Obtener el último carácter de una cadena en C++