• Viernes 8 de Noviembre de 2024, 14:02

Autor Tema:  Argumentos Con C (linux)  (Leído 1872 veces)

juanblack

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Argumentos Con C (linux)
« en: Viernes 11 de Abril de 2008, 20:14 »
0
eso , ingresar un argumento y sumar su valor respectivo en ascii
como por eje.
suma AB ( valor ascii = 65 - 66)
la suma es = 131
eso nomas sau2.-

Iganguli

  • Miembro activo
  • **
  • Mensajes: 51
  • Nacionalidad: mx
    • Ver Perfil
Re: Argumentos Con C (linux)
« Respuesta #1 en: Viernes 11 de Abril de 2008, 20:49 »
0
puedes usar

Código: Text
  1. int main(int argc, char *argv[])
  2.  

nienor

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Argumentos Con C (linux)
« Respuesta #2 en: Sábado 12 de Abril de 2008, 01:32 »
0
Hola,

Tal como dice Iganguli puedes usar los argumentos de la función main:
-> char *argv[] es un vector de punteros a cadenas de tipo char*. Una vez hayas introducido los parámetros por consola, estos finalizarán siempre en '\0', que te sirve como delimitador.
-> int argc es el número de componentes válidas del vector anterior.

Decirte también que la primera componente del vector se corresponde con el nombre de tu programa (lo que escribes para llamarlo por consola). A partir de aquí (es decir, las componentes 1 y 2) serán los argumentos que debes procesar.

Para sumar los argumentos de tu programa supongo que bastará con una variable entera que actúe como acumulador, en la que vallas sumando los valores componente a componente, algo así:

Código: Text
  1.  
  2. int acumulador=0;
  3. for( int i=0; i<argc; i++ )
  4.    for( j=0; argv[i][j]!='\0'; j++ )
  5.       acumulador+=argv[i][j];
  6.  

No lo he pensado mucho y lo he ido escribiendo "a pelo", así que no se si funciona, Inténtalo y si tienes problemas nos comentas ;)

Saludos

juanblack

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Argumentos Con C (linux)
« Respuesta #3 en: Sábado 12 de Abril de 2008, 07:38 »
0
buenas , pero una consulta, al ingresar por argumento una palabra como por ejemplo abc , como hago la conversion para q me valla sumando su equivalente a codigo ascii?

nienor

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Argumentos Con C (linux)
« Respuesta #4 en: Sábado 12 de Abril de 2008, 13:04 »
0
Simplemente guarda las variables en un acumulador de tipo entero (int). Si sacas por pantalla el valor de ese entero verás el código ASCII del carácter que hayas introducido.

juanblack

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Argumentos Con C (linux)
« Respuesta #5 en: Domingo 13 de Abril de 2008, 07:22 »
0
ah ok gracias :D