Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Migalon en 5 Diciembre 2015, 13:32 pm



Título: Uso de variables de entorno
Publicado por: Migalon en 5 Diciembre 2015, 13:32 pm
Buenas a todos,

En primer lugar, soy nuevo en el lenguaje de programación C. Tengo que hacer un trabajo y desconozco cierta información. Estoy pateandome el google de arriba a abajo en busca de algo interesante y que me sea de ayuda, pero no consigo nada.

El trabajo lo tengo prácticamente terminado, lo unico que tengo dos problemas:
- Estoy trabajando con variables de entorno y el programa debería diferenciar cuando una variable de entorno tiene un valor entero 0 (VAR_ENT=0) y cuando una variable no tiene ningun valor, está vacía (VAR_ENT= ).
- A su vez, cuando paso argumentos al programa (en este caso de tipo coma flotante o double), saber si el argumento pasado es de tipo válido. Me explico: que cuando metas como argumento "10" o "-23.05" lo acepte, pero que cuando metas como argumento "11-2" "1_ejemplo", no lo acepte y te de error.

Espero vuestra ayuda.
Gracias,


Título: Re: Uso de variables de entorno
Publicado por: daryo en 5 Diciembre 2015, 17:51 pm
el primer caso usando la funcion getenv para obtener la variable luego con  un if( !*str ) para saber si esta vacia


el segundo caso
con los rangos de ascii:
si por ejemplo tengo:

Código
  1. char letra_inicial='a';
  2. char letra_final='z'
  3. if(letra_inicial==97)
  4. printf("true");
  5.  
  6. /* b sera 98 c 99, d 100 y asi consecutivamente */
  7.  
  8. if(letra_final==122)
  9. printf("true");
  10.  

devolvera dos veces true


bueno asi se puede recorrer la cadena caracter por caracter con un for y usar la codificacion ascii para saber si es un numero(en ascii creo que va va del 48 al 57)

la tabla : http://ascii.cl/es/

y con algunas reglas adicionales por ejemplo que el simbolo menos si hay debe ser el primer caracter y que despues del punto debe ir un numero