Obtener Variables al Invocar

Perdona que te vuelva a preguntar, pero es que me queda una duda.
¿Podría pasar variables a un programa al ejecutarlo?
Es decir, como en MySQL que es necesario introducir el host y el usuario al ejecutarlo:
C:/MySQL> mysql.exe -h hostname -u username
Mi intención es crear un programa que guarde unas variables obtenidas por éste método en archivos planos. Como un intermediario.
¿Es posible?
Desde ya, Gracias.
---
Sel

1 Respuesta

Respuesta
1
Podrías detallar más; te he entendido que quieres hacer un programa en C que lo ejecutes así:
TuPrograma var1 var2
Y este programa te guarda var1 y var2 en archivos planos.
¿Entendí bien?
Si, básicamente es eso. Quiero utilizarlo para ejecutarlo desde un Flash y que guarde las variables en un archivo plano.
Por ejemplo en el Flash se ejecuta: "programa.exe mi casa"
Y programa.exe crea un archivo (o borra y vuelve a crear) llamado variables.dat e inserta en su interior:
---
variable1=mi
variable2=casa
---
Así luego el mismo Flash podrá recuperar esas variables (lee pero no graba textos planos).
He visto en algunos manuales que dice que se pueden dar parámetros a main(), pero no explica que parámetros ni cómo.
Espero haberme explicado.
Saludos
---
Sel
Se que no debo pedir mucho, pero es que se trata de un trabajo urgente, te agradeceré la velocidad.
Saludos
---
Sel
El main puede recibir 2 parámetros, siendo la cabecera así:
int main(char*[]args,int n) {
...
}
Donde args es un arreglo de cadenas, ahí se guarda en la posición 0 el nombre del ejecutable, en la posición 1 se guarda la primera variable, en la 2 la segunda y así sucesivamente. El parámetro int n tiene el número de cadenas que ha cargado.
tomando tu ejemplo, la estructura de args sería así:
args[0]="programa.exe"
args[1]="mi"
args[2]="casa"
Luego args[0] y args[1] lo guardas en tu archivo.
Entiendo, pero cómo explico a windows de donde sacar el contenido del arreglo args.
Es decir, cuál sería línea necesaria en DOS para ejecutar el programa con esas variables.
Seria
C:/Cpp/programa.exe mi casa
?
El programa que cree es así:
---
#include <string>
#include <iostream.h>
int main(char* args,int n) {
cout << args[1] << '\n' << args[2];
}
---
Pero al abrirlo hace error y se cierra.
Saludos
---
Sel
Por ejm. tienes el programa en C:\programa.exe
En DOS ejecutas así:
C:\> programa.exe mi casa
Entonces windows carga AUTOMÁTICAMENTE args, es decir tu no te preocupas en leerlos simplemente úsalo:
int main(char* args[], int n) {
cout<<args[1];
}
ten en cuenta que args es un arreglo a cadenas, o también puede ser un char** args.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas