找回密码
 注册
查看: 716|回复: 1

求教 c 编程中关于管道的问题 pipe

[复制链接]
发表于 2005-12-22 14:00:52 | 显示全部楼层 |阅读模式
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
#define MAXLINE 256
void err_sys(const char *info)
{
        perror(info);
        exit(1);
}
int main()
{
         int n,fdp[2];
         pid_t pid;
         char line[MAXLINE];
         if(pipe(fd)<0)
               err_sys("pipe error");
         if((pid=fork())<0)
                err_sys("fork error");
         else if(pid>0)
         {
                close(fd[0]);
                write(fd[1],"hello world\n",12);
          }
          else
          {
                 close(fd[1]);
                 n=read(fd[0],line,MAXLINE);
                 write(STDOUT_FILENO,line,n);
           }
           exit(0);
}
我写上面这段程序,想实现父进程把hello world打进管道,然后子进程把这个字符窜从管道读出,但是输出到屏幕的总是乱码,请问为什么?
请教write()和read()的用法。
发表于 2005-12-22 17:19:52 | 显示全部楼层
line清0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-7 12:10 , Processed in 0.030875 second(s), 16 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表