[C con Clase] duda con write
Pogui
poguijuaz en gmail.com
Lun Jun 9 17:02:31 CEST 2008
Hola lista, tengo un problema que me esta rompiendo la cabeza.
Resulta que al parecer la función write de este ejemplo hace que mi
programa termine inesperadamente:
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include "hijos.h"
int hijo(char* buffer, char caracter)
{
int *contador,pipea[2],i=0;
*contador=0;
while(*buffer) {
if(*buffer==caracter)
i++;
buffer++;
}
*contador=i;
printf("%d\n%d\n",*contador,i);
if(caracter == 'a') {
printf("es una 'a'\n");
if (pipe(pipea) == -1) {
perror ("pipe");
exit (EXIT_FAILURE);
}
/*envio de mensaje */
close (pipea[0]);
//write (pipea[1], contador, sizeof(contador)); esta es la
linea del problema
printf("luego de escribir\n");
close (pipea[1]);
/*fin de envio de mensaje */
}
return *contador;
}
lo raro es que compila perfectamente.
Alguna idea de que es lo que puede estar pasando?
Apenas el programa entra al write sobre el pipe, la ajecucuión termina
abruptamente
:(
gracias por su atención.
Más información sobre la lista de distribución Cconclase