这是一个关于管道通信的

dxj_77127117 2007-05-29 11:13:11
#include <stdio.h>
main()
{
int x,fd[2];
char buf[30],s[30];
pipe(fd);
while((x=fork())==-1);
if(x==0)
{
sprintf(buf,"This is an example\n");
write(fd[1],buf,30);
exit(0);
}
else
{
wait(0);
read(fd[0],s,30);
printf("%s",s);
}
}


这是我照搬书上的。居然编译出错.....
pipe fork write exit系统都说 undeclared identifier
...全文
227 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dxj_77127117 2007-05-30
  • 打赏
  • 举报
回复
我是在win xp下编译的.
刚加了这2个。
系统说#include <unistd.h > 有问题
mymtom 2007-05-30
  • 打赏
  • 举报
回复
把书扔了吧!
如果是在Unix下用fork需要的头文件为
#include <sys/types.h>
#include <unistd.h>
其它的请用man查看!
dai_weitao 2007-05-30
  • 打赏
  • 举报
回复
在MSDN中找pipe有关的头文件和函数吧。
flynaj 2007-05-30
  • 打赏
  • 举报
回复
windows 下面的管道是用 OpenFile 函数来打开的.建议你看一下winapi编程的书.
你的程序在win下是没有办法编译/运行的.
dxj_77127117 2007-05-30
  • 打赏
  • 举报
回复
不会吧。管道只能在UNIX下使用?

这个是我们《操作系统原理》的实验.

ccccffff 2007-05-30
  • 打赏
  • 举报
回复
刚查了下资料

pipe只能在UNIX下使用
ccccffff 2007-05-30
  • 打赏
  • 举报
回复
VC++6.0下面有<unistd.h>?

用GCC编译试下呢
dxj_77127117 2007-05-30
  • 打赏
  • 举报
回复
我是用VC++6.0环境下编译的
ForestDB 2007-05-30
  • 打赏
  • 举报
回复
undeclared identifier都是Linux平台下的东西,在Windows下??

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧