这里有高手吗???

sy_qwp 2001-12-04 04:43:00
在 unix 下编写的 c 语言程序,执行时屏幕提示“hangup”之后就退出了程序,这是什么原因啊?
...全文
58 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sy_qwp 2001-12-05
  • 打赏
  • 举报
回复
谁能给我一个答案啊?
小生多谢了。
sy_qwp 2001-12-05
  • 打赏
  • 举报
回复
怎么?
没有碰到过这个问题吗?
sy_qwp 2001-12-04
  • 打赏
  • 举报
回复
这是我写的小程序:
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
#include<errno.h>

#define FILE_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP)
#define FIFOI "/tmp/fifo.i"
#define FIFOO "/tmp/fifo.o"

void main(void){

int readfd,writefd;
int n,ret;
char buf[100];
ret=mkfifo(FIFOI,FILE_MODE);
if(ret==-1){
printf("MKFIFO FIFOI ERROR:%s\n",strerror(errno));
exit(1);
}
ret=mkfifo(FIFOO,FILE_MODE);
if(ret==-1){
printf("MKFIFO FIFOO ERROR:%s\n",strerror(errno));
exit(1);
}
printf("begin... \n");
readfd=open(FIFOI,"r",0);
if(readfd==-1){
printf("OPEN FIFOI ERROR:%s\n",strerror(errno));
exit(1);
}
printf("before open\n");
writefd=open(FIFOO,"w",0);
if(writefd==-1){
printf("OPEN FIFOO ERROR:%s\n",strerror(errno));
exit(1);
}
printf("before while\n");
while(1){
/*执行到这时显示的信息*/
n=read(readfd,buf,100);
if(n<0)
break;
write(writefd,buf,n);
}
close(readfd);
close(writefd);
unlink(FIFOI);
unlink(FIFOO);
}
wwkan 2001-12-04
  • 打赏
  • 举报
回复
hangup不是挂起的意思么?
把你写的程序帖出来看看呀~!

69,371

社区成员

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

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