hi guys, o have a big error
in this program but i cant solve
someone ?!
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
int main(int argc, char *argv[]){
int cont = 2, posicao;
char geraArquivo[100]= "|cat>>", espaco[3]=" ";
char nomeArquivo[50], comando[1000], leitor[1000];
if(argc>1)
{
strcpy(comando, argv[1]);
while(cont< argc)
{
strcat(comando, espaco);
strcat(comando, argv[cont]);
cont++;
}//fim do while
printf("\nDigite o nome do arquivo: ");
scanf("%s",nomeArquivo);
printf("\n");
strcat(geraArquivo,nomeArquivo);
strcat(comando,geraArquivo);
system(comando);
}//fim do if
else{
printf("\nErro!\nDados para gera��o do arquivo n�o foram encontrados!\nPor favor entre com um comando do Sistema!\n");
return 0;
}//fim do else
FILE *arq, *arq1, *arq2;
arq = fopen(nomeArquivo,"r");
arq1 = fopen("arquivoPai.txt","w+");
arq2 = fopen("arquivoFilho.txt","w+");
posicao = ftell(arq);
int fp[2];
int pf[2];
int rc;
int nbytes;
char reader[1000];
pipe(fp);
pipe(pf);
pid_t pid;
pid = fork();
while(!feof(arq)) //varrer arquivo
{
printf("OLHAE");
if(pid == 0 && (posicao%2)==0)
{
close(fp[0]); // filho mandando pro pai fechar o "input"
close(pf[1]);
nbytes = read(pf[0], reader, sizeof(reader));
fprintf(arq1,"%s \n",reader);
fscanf(arq,"%s",leitor);
write(fp[1],leitor, (strlen(leitor)+1));
}
else
{
close(fp[1]); // recebendo dados do filho fecharo "output"
close(pf[0]);
nbytes = read(fp[0],reader, sizeof(reader));
fprintf(arq2,"%s \n",reader);
fscanf(arq,"%s",leitor);
write(pf[1],leitor,(strlen(leitor)+1));
}
posicao = ftell(arq);
}
exit(0);
fclose(arq);
fclose(arq1);
fclose(arq2);
return 0;
}//fim da main