cadena
Publicado por eduardo (82 intervenciones) el 27/10/2007 00:55:41
En mi programa tengo una variable char[] que recibe una cadena
del usuario. La cadena se pasa a una funcion(como una orden)
para ejecutar una operacion(ej. "mostrar_rep")
la funcion debe ejecutar la operación aun cuando la orden(la cadena)
tenga espacios o tabuladores al principo.
P.ej
" Mostrar_rep"
" Mostrar_rep", etc
Necesito ignorar los espacios en blanco y tabs al principio de la cadena
(más no espacios intermedios) para que la operacion se ejecute sin problemas.
Estaba haciendo algo como esto pero me arroja warning..
int main( void ) {
...
gets( orden );
char *ptrOrden;
ptrOrden = ignora_espacios( orden );
ejecutar( ptrOrden );
...
}
int *ignora_espacios( char *cad ) {
for ( ;*cad == ' ' || *cad == '\t'; cad++ );
/* salgo cuendo encuentre caracter diferente de ' ' 0 '\t' */
return cad; /* devuelvo la dirección del caracter encontrado */
}
Me funciona pero arroja:
[Warning] In function `main':
[Warning] assignment from incompatible pointer type
[Warning] In function `ignora_espacios':
[Warning] return from incompatible pointer type
Por que otra alternativa puedo optar:
del usuario. La cadena se pasa a una funcion(como una orden)
para ejecutar una operacion(ej. "mostrar_rep")
la funcion debe ejecutar la operación aun cuando la orden(la cadena)
tenga espacios o tabuladores al principo.
P.ej
" Mostrar_rep"
" Mostrar_rep", etc
Necesito ignorar los espacios en blanco y tabs al principio de la cadena
(más no espacios intermedios) para que la operacion se ejecute sin problemas.
Estaba haciendo algo como esto pero me arroja warning..
int main( void ) {
...
gets( orden );
char *ptrOrden;
ptrOrden = ignora_espacios( orden );
ejecutar( ptrOrden );
...
}
int *ignora_espacios( char *cad ) {
for ( ;*cad == ' ' || *cad == '\t'; cad++ );
/* salgo cuendo encuentre caracter diferente de ' ' 0 '\t' */
return cad; /* devuelvo la dirección del caracter encontrado */
}
Me funciona pero arroja:
[Warning] In function `main':
[Warning] assignment from incompatible pointer type
[Warning] In function `ignora_espacios':
[Warning] return from incompatible pointer type
Por que otra alternativa puedo optar:
Valora esta pregunta


0