[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