#include <16F887.h>
#include <string.h>
/*
#############################################################################
CODIGO DE PRUEBA SOBRE EL USO EFICIENTE DE CONSTANTES DEL TIPO CADENA DE LONGITUD VARIABLE
#############################################################################
En la ayuda del compilador CCS 4.108 aparece una forma eficiente de utilizarlas,
supuestamente se deben definir de la siguiente forma:
const char strings[][*] =
{
"HELLO",
"WORLD",
"EXTRALONGERWORD"
};
pero al compilar el programa me da el error " Expression must evaluate to a constant "
A continuacion utilizo otras formas recomendadas por Gera pero no logro hacerlas funcionar
##############################################################################
*/
void main()
{
const char *String[] = {"hola","mundo"}; //Asi defino las constantes de tipo cadena,
// como vemos son de distinta longitud
int i; //Variable Auxiliar
char *PtrCad; //Variable puntero a una cadena
char Cadena[10]={""}; //Variable cadena de 9+null inicializada a cadena vacia
//###############################################################################
// lo que deseo hacer en el codigo siguiente es copiar el texto "mundo" en la variable Cadena
// Pero no me funciona
PtrCad=String[1];
for (i=0;*PtrCad;i++){ //Desde el inicio de Cadena y mientras PtrCad no sea nulo
Cadena[i]=*PtrCad++; //Copio el contenido de la posicion apuntada por PtrCad en Cadena,
} // e incremento la posicion de PtrCad
// No se que esta mal pero no funciona
//###############################################################################
//###############################################################################
//Aca intento hacer lo mismo pero con la segunda opcion que me indico Gera
// pero ni siquiera me compila, si habilito la sig. instruccion al compilar me da el error:
// "Expecting LVALUE such as a variable name or * expression"
// strcpy(Cadena,String[0]);
//###############################################################################
//###############################################################################
// Aca nuevamente, esta opcion no me da errores en tiempo de compilacion,
// pero tampoco me funciona
sprintf(Cadena,"%s",String[1]);
//###############################################################################
while(true);
}