C 尝试使用管道()系统调用时出错
编译代码时出错,该错误表示调用的管道对象不是函数,也不是指向函数的指针。我真的不知道发生了什么,我真的很困惑,因为我在互联网上找不到关于它的东西。下面是我得到的错误: 下面是给出错误的函数代码:C 尝试使用管道()系统调用时出错,c,operating-system,pipe,posix,C,Operating System,Pipe,Posix,编译代码时出错,该错误表示调用的管道对象不是函数,也不是指向函数的指针。我真的不知道发生了什么,我真的很困惑,因为我在互联网上找不到关于它的东西。下面是我得到的错误: 下面是给出错误的函数代码: #include <sys/types.h> #include <sys/stat.h> #include <stdlib.h> #include <fcntl.h> #include <stdio.h> #include <strin
#include <sys/types.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/wait.h>
#include "empleados.h"
void EnviarPipe(emple *miemp, int cuantos, char pipeNombre[], char id[]) {
int creado, fds[2], pid;
if(pipe(fds) == -1)
{
printf("\n[ERROR]-El pipe no se pudo abrir con exito.\n");
return;
}
if((pid = fork()) == 0)
{
close(fds[0]); //se cierra el de lectura por que no se va a usar
for(int i = 0; i < cuantos; i++)
{
dprintf(fds[1], "%s ", miemp[i].nombre);
dprintf(fds[1], "%d ", miemp[i].edad);
dprintf(fds[1], "%f ", miemp[i].salario);
dprintf(fds[1], "->Encontrado por el buscador con ID: %s \n", id); //Por cada linea se indica que proceso buscador fue el que la escribio
}
close(fds[1]); //se cierra el fd de escritura
exit(0);
}
else if(pid < 0)
{
printf("\n[ERROR]-Fallo en la creacion del sub-proceso buscador.\n");
}
wait(NULL);
}
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括“employados.h”
void envirappe(emple*miemp,int cuantos,char pipeNombre[],char id[])){
int creado,fds[2],pid;
如果(管道(fds)=-1)
{
printf(“\n[错误]-El管道编号se pudo abrir con exito.\n”);
返回;
}
如果((pid=fork())==0)
{
关闭(fds[0]);//请不要在课堂上讲话
对于(int i=0;iEncontrado por el buscador con ID:%s\n”,ID);//por cada LINA se indica se indica que buscador fue el que la DESCRIBIO
}
关闭(fds[1]);//关闭cierra el fd de escritura
出口(0);
}
否则如果(pid<0)
{
printf(“\n[错误]-Fallo en la creacion del sub proceso buscador.\n”);
}
等待(空);
}
希望有人发现发生了什么。提前谢谢 您在同一范围内有一个名为
pipe
的变量。请更新问题中的代码。对于给您带来的不便,非常抱歉,您完全正确,事实上这就是问题所在!我没有正确清理提示输出