[C con Clase] Duda acerca de condicional if de cadena vacía

Steven Davidson srd4121 en njit.edu
Mie Sep 12 02:12:37 CEST 2012


Hola Óscar,

On 9/11/2012 7:40 PM, Oscar Aparicio Holgado wrote:
> Hola que tal.
> Estoy con mi primer programilla y estoy en un punto en el cual quiero
> que un condicional if haga esto:
> if (cadena == CADENAVACIA)
> lo que pretendo es que if me chequee que si cadena ha sido creada con
> “cadena[]” por ejemplo y si no ha sido rellenado con nada haga una
> cosa, y si está rellena de algo, osea, contrario al if haga otra
> cosa.
> Espero se entienda si no me preguntais.
> Un saludo y gracias.
>

Bueno, en primer lugar, no existe la "nada" en memoria. Lo que uno puede 
hacer es establecer que un valor en particular represente "nada" y de 
esa manera determinar si no hay nada. En el caso de las cadenas de 
caracteres, podemos representar una cadena nula asignando un carácter 
nulo, '\0', en el primer elemento. Esto es,

char szCadena[10];
szCadena[0] = 0;

Típicamente, se suele incializar la cadena con la cadena nula literal, 
""; esto es,

char szCadena[10] = "";


Por lo tanto, en tu caso, comprueba si el primer carácter de la cadena 
es el nulo, 0, o no; esto es,

if( 0 == szCadena[0] )
{
   // cadena nula
   ...
}
else
{
   // cadena con caracteres
   ...
}


Espero haber aclarado la duda.

Steven






Más información sobre la lista de distribución Cconclase