• Viernes 15 de Noviembre de 2024, 03:03

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - tuflotas

Páginas: [1]
1
C/C++ / Re: error de stat en un programa creando un proceso
« en: Martes 29 de Diciembre de 2009, 16:37 »
el problema ahora es distinto, ahora me da un error de segmentacion creo que por el mal uso de las pipes

2
C/C++ / Re: Palíndromo
« en: Martes 29 de Diciembre de 2009, 12:38 »
para conocer la longitud de un string tienes  tamanho=strlen(string);

para comprar tambien tienes strcmp(char, char); asi puedes comparar el primer caracter con el ultimo que te de la funcion strlen

3
C/C++ / error de stat en un programa creando un proceso
« en: Martes 29 de Diciembre de 2009, 12:22 »
Hola,

El programa que he hecho consiste en que se ejecute varios comandos como haria en la shell ls | sort ... pero sin poner |, es decir, sería ./prueba ls sort y asi tendría que ejecutarse.

Lo que he hecho ha sido crear un programa con un bucle hasta el numero de argumentos que metas - 1. Con esto voy mirando si eres el primer comando a ejecutar necesitas crear una tuberia y escribir en ella, luego los comandos intermedios necesitaran leer de la tuberia anterior y escribir en una nueva y el ultimo argumento necesitara leer de la anterior tuberia y escribir en la salida estandar.

Una vez creada la tuberia que necesite cada argumento hago pid = fork(); si pid == 0 entonces eres el hijo y hago que se ejecute el comando que viene en argc (i es el numero de iteracion en el que estoy) y si eres padre pongo waitpid(-1,status.0);

Bueno, el problema es que a partir de la segunda iteracion, mirando con el gbd he visto que tras pid=fork(); me sale el error "sort: fallo en `stat': -: Descriptor de archivo inválido" y ya no ejecuta nada más , alguien sabe que pued eestar haciendo??

Páginas: [1]