Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1788956
  • 博文数量: 335
  • 博客积分: 4690
  • 博客等级: 上校
  • 技术积分: 4341
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-08 21:38
个人简介

无聊之人--除了技术,还是技术,你懂得

文章分类

全部博文(335)

文章存档

2016年(29)

2015年(18)

2014年(7)

2013年(86)

2012年(90)

2011年(105)

分类: C/C++

2012-03-15 22:15:45

  1. #include "apue.h"
  2. #include <ctype.h>

  3. int main(void){
  4.     int c;

  5.     while((c = getchar()) != EOF) {
  6.         if( isupper(c))
  7.             c = tolower(c);
  8.         if (putchar(c) == EOF)
  9.             err_sys("fputs error");
  10.         if ( c == '\n')
  11.             fflush(stdout);
  12.     }
  13.     exit(0);
  14. }

  1. #include "apue.h"
  2. #include <sys/wait.h>

  3. int main(void){
  4.     char line[MAXLINE];
  5.     FILE * fpin;

  6.     if ((fpin = popen("./c15-5","r")) == NULL)
  7.         err_sys("popen error ");
  8.     for( ; ;){
  9.         fputs("prompt",stdout);
  10.         fflush(stdout);
  11.         if ( fgets(line,MAXLINE,fpin) == NULL) /* read from pipe */
  12.             break;
  13.         if (fputs(line,stdout) == EOF)
  14.             err_sys("fputs error to pipe");
  15.     }
  16.     if (pclose(fpin) == -1)
  17.         err_sys("pclose error");
  18.     putchar('\n');
  19.     exit(0);
  20. }
c15-5将标准输入转换后复制到标注输出
c15-6使用管道,读取shell程序的输出,并给用户提示,该程序不处理标准输入
同时shell程序从标准输入接受用户输入,
                   read  
 父进程----------------------------转换程序
     \   prompt                  /
      \                        /  接受用户的标准输入
             user










阅读(878) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~