C/Visual C - CString que me reconozca '\n'

 
Vista:

CString que me reconozca '\n'

Publicado por Esteban (16 intervenciones) el 28/11/2002 17:09:23
Tengo 2 cadenas: CString m_cad1 = "texto 1", m_cad2 = "texto 2" ;

Quiero generar una tercera: CString m_cad1 = m_cad1 + "\n" + m_cad2 ;

La genera, pero no me reconoce el caracter nueva linea '\n', ¿cómo puedo hacer para que en la cadena se almacene como nueva línea?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Manejo de nueva línea en CString

Publicado por Alejandro (913 intervenciones) el 10/04/2025 20:34:05
Para que el carácter de nueva línea `'\n'` funcione correctamente en una cadena `CString`, es importante asegurarse de que el entorno donde se está mostrando la cadena soporte el formato de nueva línea. En el caso de `CString`, el carácter de nueva línea puede no ser interpretado como tal en algunos contextos, especialmente si se está utilizando en un control que no lo maneja adecuadamente.

Aquí tienes un ejemplo de cómo puedes concatenar las cadenas y asegurarte de que el salto de línea se maneje correctamente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <afx.h> // Asegúrate de incluir el encabezado necesario para CString
 
int main() {
    CString m_cad1 = "texto 1";
    CString m_cad2 = "texto 2";
 
    // Concatenar las cadenas con un salto de línea
    CString m_cad3 = m_cad1 + "\r\n" + m_cad2; // Usar "\r\n" para Windows
 
    // Mostrar la cadena resultante
    AfxMessageBox(m_cad3); // Esto mostrará la cadena en un cuadro de mensaje
 
    return 0;
}

Explicación de los cambios:


1. Uso de `"\r\n"`: En Windows, es común usar `"\r\n"` para representar un salto de línea. Esto asegura que el salto de línea se interprete correctamente en la mayoría de los controles de Windows.
2. Mostrar la cadena: Utilicé `AfxMessageBox` para mostrar la cadena resultante. Esto es útil para verificar que el salto de línea se está manejando correctamente.

Consideraciones:


- Si estás utilizando un control específico (como un `Edit Control` o un `List Control`), asegúrate de que el control esté configurado para mostrar saltos de línea. Por ejemplo, en un `Edit Control`, debes asegurarte de que tenga el estilo `ES_MULTILINE` para que los saltos de línea se muestren correctamente.
- Si estás trabajando en un entorno diferente (como una consola), el manejo de saltos de línea puede variar.

Con estos ajustes, deberías poder almacenar y mostrar correctamente la nueva línea en tu cadena `CString`. ¡Buena suerte, Esteban!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar