Hola.
Tengo una cadena que es larga y necesito al momento de codificar dividirla en varias, algo asi:
"Esto
es una
cadena
Larga"
como lo hago para que el compilador lo tome bien?
gracias.
Hola.
Tengo una cadena que es larga y necesito al momento de codificar dividirla en varias, algo asi:
"Esto
es una
cadena
Larga"
como lo hago para que el compilador lo tome bien?
gracias.
Hola @farameo.
Tu pregunta tiene varias posibles respuestas.
Primero no se que es largo?
Mi consejo es este:
const char strCadena[] = "Esto es una cadena larga";
o esta alternativa que usa espacio FLASH
const char strCadena[] PROGMEM = "Esto es una cadena larga";
Si lo que dijo surbyte no te responde nada, quizá haya sido que no fuiste muy claro al plantear la pregunta.
Lo que me das a entender, es que lo que buscas es crear una cadena de texto constante (inalterable o inmutable para el tiempo de ejecución), larga pero separada por palabras.
Si la cadena es realmente larga, puede que usar objetos String llene la memoria (RAM) con suma facilidad. Una forma fácil de "referenciar" palabras en una cadena larga, es en un "array" bidimensional (también conocido como "matriz"). Así:
const char strCadena[][] = {"Esto", "es", "una", "cadena", "larga"};
// Se referencia como: strCadena[índice de la palabra][índice de la letra]
No estoy seguro si así arrojaría error de compilación; mas en ese caso, habría que manualmente definir el tamaño en el segundo par de corchetes ("paréntesis cuadrados"), con la longitud de la subcadena más larga (+1 para dejar espacio para el requerido caracter NUL).
Si esto último sucede, entonces no sería el método más eficiente en términos de espacio; al asignar un tamaño fijo por cada "fila", no todas las palabras "miden" lo mismo; entonces quedan "huecos" (espacio desperdiciado) entre estas palabras.
Si es demasiado para la memoria RAM, tendrás que utilizar la del programa (PROGMEM); y si lo deseas, un método más eficiente (en espacio) que una matriz.