练习 expr 思路|学习笔记

简介: 快速学习练习 expr 思路

开发者学堂课程【物联网开发- Linux 高级程序设计全套视频练习 expr 思路】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/660/detail/11034


练习 expr 思路

 

练习题目

 

练习:

题目:借用外部命令,实现计算器功能

 

提示:

expr 是个外部命令,它向标准输出打印运算结果。

image.gifUsr/bin/expr为一个命令,算出4+5的结果为9,而且把结果输出到屏幕上;4-5=-1;4/2=2;4*2语法错误,必须加‘*’。

正常情况下载程序中创建一个子进程,在子进程中exec去启动,会出现在屏幕上。

将结果打到内存里的,不需要打出来,直接实现exec4+5m命令。

创建一个管道以便让expr 4+5的输出到管道中

子进程exec执行expr 4+5命令之前重定向“标准输出”到“管道写端”

父进程从管道读端读取数据,并显示运算结果。

外部命令结果信息输出至管道:

image.gif直接执行 expr 4+5 进行标准输出,创建管道,进行父进程 read,最后进行标准输出

程序框架如下:

int main()

{

1:创建管道 pipe

2:创建子进程

1.子进程中

{

1>重定向标准输出到管道的写端

2>execlp("expr" "expr""4""+""5"NULL);

}

2.父进程中

读管道读端

打印读到的内容

}

 

 

相关文章
|
5月前
|
网络安全
编译原理复习二:Top-Down分析LL(1)文法的判断与LL(1)分析表的构造(附题目与答案 超详细)
编译原理复习二:Top-Down分析LL(1)文法的判断与LL(1)分析表的构造(附题目与答案 超详细)
397 1
|
13天前
|
SQL Oracle 关系型数据库
CASE WHEN 语句的语法及示例,LeetCode 题目 “确认率” 练习
本文介绍了SQL中CASE语句的两种形式和语法,并通过LeetCode题目“确认率”的SQL查询示例展示了CASE语句在实际问题中的应用,解释了如何使用CASE语句计算特定条件的比率。
|
5月前
|
Java
Lambda 表达式复习
Lambda 表达式复习
28 1
|
5月前
|
Java C++ Python
C/C++每日一练(20230422) 存在重复元素、组合总和、给表达式添加运算符
C/C++每日一练(20230422) 存在重复元素、组合总和、给表达式添加运算符
51 0
C/C++每日一练(20230422) 存在重复元素、组合总和、给表达式添加运算符
|
算法
表达式转换-中缀转后缀表达式后计算-数据结构与算法
表达式转换-中缀转后缀表达式后计算-数据结构与算法
373 0
表达式转换-中缀转后缀表达式后计算-数据结构与算法
|
12月前
|
存储 算法 容器
精选算法题(1)——枚举符合要求的算术表达式(DFS、回溯法)
精选算法题(1)——枚举符合要求的算术表达式(DFS、回溯法)
|
前端开发
前端学习案例7-正则-括号的用法
前端学习案例7-正则-括号的用法
78 0
前端学习案例7-正则-括号的用法
|
Go 开发者
continue 课堂练习 | 学习笔记
快速学习 continue 课堂练习
continue 课堂练习 | 学习笔记
|
Python
考点:最值应用,基本排序法,复杂排序法,sorted函数的灵活运用【Python习题05】
考点:最值应用,基本排序法,复杂排序法,sorted函数的灵活运用【Python习题05】
130 0