Linea de comandos en C, dudas

M

En primer lugar, no sé si se llama así. Con línea de comandos me refiero a una linea en la q pones el nombre del ejecutable y una serie de parámetros para q se ejecute el programa, como había q hacer con akel PKZIP de ms-dos (q había q ponerle el archivo a comprimir, nivel de compresión (creo)... y alguna cosa más) . Alguien sabe donde puedo ver ejemplos para hacerlo?? O al menos kisiera saber si realmente se dice así pa poder buscar. Gracias de antemano.

Pa los q vengan en plan gracioso: A palabras necias...

ES-ElCiD

pero el pkzip es un compresor, y para comprimir descomprimir habia q usar distintas variables, como x, a, -r -v q eran las mas usadas. no se a q te refieres la verdad . ..

M

Me refiero a q como puedo hacer yo en C para poder hacer una linea con varios parámetros. El programa cifra y descifra un texto. Yo le kiero meter como parámetros un código q le diga si cifra o descifra, una clave pa descifrar y el texto a cifrar o descifrar. aparte del ejecutable al principio. Pos eso, kería saber cómo se hace en C eso.

Deathtime

Creo que estas tirando muy alto, alo mejor te viene mejor un programa estilo PGP que encripta text, emails etc.

M

Pero es q es una práctica de una optativa, y es la parte q nos keda. El método usado es el del DES, y ahora me keda esa parte, de cómo ponerle q cifre o descifre y el texto y alguna pijada más sin tener q modificar el código del ejecutable y generar un exe cada vez ni tener q crear un archivo con el texto a cifrar cada vez.

Deathtime

entonces tendras k hacerte un algoritmo de encriptacion, que es como se encriptan las cosas, tendras k invertartelo, uno que se usaba hace mucho en los tiempos romanos aunqeu hoy en dia es muy simple era el de cambiar un caracter por el siguiente, abc seria bcd, otro seria cambiar el caracter a un entero y sumarle uno, de forma k seria la A = 1 + 1 osea 2.

no estoy muy seguro para que kieres hacer todo esto con C pero weno si te sirve de algo,

M

No no, no me refiero a encriptarlo. Eso ya lo tengo hecho. Lo q pregunto es cómo hacer pa ejecutar el programa de la siguiente forma, x ejemplo:

C:>DES.exe 1 Manolo es feo

Donde 1 es decirle q cifre y Manolo es feo, el texto a cifrar.

Deathtime

No lo consigo ver mañana te lo pregunto a las 8 y te lo digo.

M

Jeje, no pasa nada. Gracias de todas formas.

Deathtime

Estoy mirando y no se si es lo de los atributos, miralo por si acaso Atributes, pero de todas maneras se puede hacer de otra manera si kiers aunque un poco mas rallante, seria que una vez cargue el programa te llevara a una especie de menu, en el cual eliges las opciones k kieres por medio de un case, despues te lleva a una pregunta de (ruta de fichero) o texto a encriptar, mas o menos.

aLeX

No no, para eso había una función en C especifica que almacenaba en variables los parametros al ejecutar.

Solo recuerdo que la primera variable contenía el nombre del fichero y las restantes contenian los comandos.

Voy a mirar, por alguna parte lo debo tener apuntado.

aLeX

Ya ta :)

int main(argc,argv)
int argc;
char *argv[];

donde argc es la cantidad de parametros y argv es un puntero de arrays de caracteres con cada parámetro pasado por la linea de comandos.

Ojo que el primero es el nombre del ejecutable.

M

Y la asignación de esos parámetros es como toda la vida?? es decir, variable=argv[2] x ejemplo???

Si kiero meter una frase, tengo q poner el texto entre comillas a la hora de ejecutar el programa pa q lo coja todo como un único argumento??

Gracias x la ayuda.

aLeX

Creo recordar que te la va a coger palabra por palabra. Y sí, cuando estás dentro del programa puedes trabajar con esas variables como con cualquier otra.

M

Ok. Muxas gracias.

Usuarios habituales