开发者学堂课程【物联网开发- Linux 高级程序设计全套视频:练习 expr 思路】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/660/detail/11034
练习 expr 思路
练习题目
练习:
题目:借用外部命令,实现计算器功能
提示:
expr 是个外部命令,它向标准输出打印运算结果。
Usr/bin/expr为一个命令,算出4+5的结果为9,而且把结果输出到屏幕上;4-5=-1;4/2=2;4*2语法错误,必须加‘*’。
正常情况下载程序中创建一个子进程,在子进程中exec去启动,会出现在屏幕上。
将结果打到内存里的,不需要打出来,直接实现exec4+5m命令。
创建一个管道以便让expr 4+5的输出到管道中
子进程exec执行expr 4+5命令之前重定向“标准输出”到“管道写端”
父进程从管道读端读取数据,并显示运算结果。
外部命令结果信息输出至管道:
直接执行 expr 4+5 进行标准输出,创建管道,进行父进程 read,最后进行标准输出
程序框架如下:
int main()
{
1:创建管道 pipe
2:创建子进程
1.子进程中
{
1>重定向标准输出到管道的写端
2>execlp("expr" "expr""4""+""5"NULL);
}
2.父进程中
读管道读端
打印读到的内容
}