/*****************************************************
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:Jerey_Jobs Version:0.1 Date:
Description:
Funcion List:
*****************************************************/
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:Jerey_Jobs Version:0.1 Date:
Description:
Funcion List:
*****************************************************/
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <ctype.h>
void ToUpper(char *str);
#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <ctype.h>
void ToUpper(char *str);
int main()
{
int pipe_fd[2];
pid_t pid;
char r_buf[100];
char w_buf[100];
char *p_wbuf;
int r_num;
int w_num;
{
int pipe_fd[2];
pid_t pid;
char r_buf[100];
char w_buf[100];
char *p_wbuf;
int r_num;
int w_num;
memset(r_buf,0,sizeof(r_buf));
memset(w_buf,0,sizeof(w_buf));
p_wbuf = w_buf;
memset(w_buf,0,sizeof(w_buf));
p_wbuf = w_buf;
if(pipe(pipe_fd) < 0)
{
perror("pipe create error\n");
exit(-1);
}
{
perror("pipe create error\n");
exit(-1);
}
if((pid = fork()) == 0)
{
close(pipe_fd[1]); //关闭写端
sleep(3);
{
close(pipe_fd[1]); //关闭写端
sleep(3);
r_num = read(pipe_fd[0],r_buf,100);
ToUpper(r_buf);
printf("read num is %d the data read from the pipe is %s\n",strlen(r_buf),r_buf);
close(pipe_fd[0]);
exit(0);
}
else if(pid > 0)
{
close(pipe_fd[0]);
strcpy(w_buf,"asdfEDfasd");
if(write(pipe_fd[1],w_buf,100) != 1)
{
printf("parent write over !\n");
}
close(pipe_fd[1]);
printf("parent close pipe_fd[1] successfully\n");
sleep(5);
}
return 0;
}
ToUpper(r_buf);
printf("read num is %d the data read from the pipe is %s\n",strlen(r_buf),r_buf);
close(pipe_fd[0]);
exit(0);
}
else if(pid > 0)
{
close(pipe_fd[0]);
strcpy(w_buf,"asdfEDfasd");
if(write(pipe_fd[1],w_buf,100) != 1)
{
printf("parent write over !\n");
}
close(pipe_fd[1]);
printf("parent close pipe_fd[1] successfully\n");
sleep(5);
}
return 0;
}
void ToUpper(char *str)
{
while(*str)
{
*str = toupper(*str);
str++;
}
}
{
while(*str)
{
*str = toupper(*str);
str++;
}
}