Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > C / C++ > Proyecto Minishell
-Foros de debate

C / C++
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

Proyecto Minishell
Enviado por maxromero el día 13 de abril de 2008

Buenas!

Estoy desarrollando un minishell para Linux usando las siguientes estructuras:

. un arreglo estatico llamado "comando" en el cual se ingrese el comando que quiero ejecutar..x ej: "ls /bin"

.una matriz estatica en la cual en cada posicion de la misma voy ingresando "las partes del comando", o sea, utilizando strtok voy separando "comando" e ingresando "ls" en matriz[o], "/bin" en matriz [1]...y asi...

mi problema surge con execv...no me ejecuta mi "comando" ¬¬...

C me detecta esto:
maxr_minishell.c: En la función ‘main’:
maxr_minishell.c:33: error: tipos incompatibles en la asignación
maxr_minishell.c:44: aviso: se pasa el argumento 2 de ‘execvp’ desde un tipo de puntero incompatible


aqui les dejo el codigo...espero q puedan ayudar :)

[code]#include <sys/types.h>
#include <sys/wait.h>
#include <string.h>

int main(int argc, char *argv[], char *envp[]){
char matriz[50][50];
char comando[100];
char *puntero;
int cid;
int status;
int pos;

pos = 0;

while(1) {
printf("maxr_minishell>>");
gets(comando);
puntero = strtok(comando," ");

while (puntero != NULL){
strcpy(matriz[pos],puntero);
puts(matriz[pos]);
pos = pos +1;
puntero = strtok(NULL," ");

}
matriz[pos]='\0';

cid = fork();

if (cid<0) {
printf ("Error creando hijo! %d %s\n",cid,strerror(cid));
exit (EXIT_FAILURE);
}

if (!cid) {
puts(matriz[0]);
execvp (matriz[0],matriz);

exit(errno);

} else {

wait(&status);


}

}

}[/code]

 

Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network