自己编写的第一个linux程序---进度条。

这个程序要实现的是像进度条一样,每秒都会出现一个*,直到百分之百。并且在后面也会用百分数表示当前进度,而且有一根直线一直在转,表示当前进度正在运行。

如下图:

wKioL1dOPwKxvgZ5AAINjJzcvmU678.png前面的竖线就是表示当前进度条正在执行的状态。

后面有百分数表示当前的进度。

这个程序我们用Make实现。

Make-------

在linux环境下,只需要一个Make就可以执行编译,链接,执行等多步,这个就为我们节省了大量的时间。不过这需要我们投入一些时间去完成Makefile文件的编写。Make是一个工具,它解释Makefile文件中的指令。在Makefile文件中,描述了整个工程的编译顺序,编译规则等。表明了他们之间的依赖关系,依赖对象。

下图就是Makefile文件的内容。

wKiom1dOSTKhPRlLAAB6SvQvwug365.png

Makefile文件编写好之后,我们只需要在命令行输入一个make ,就可以一步完成文件的编译,链接。

运行完程序以后,我们需要进行清理工作。同样,只需要一条make clean 命令就可以完成。

wKiom1dOStiB1iLzAAFj7GqTEXw583.png


如果不想显示make的内容,在每条命令前加上@符号就好了。

接下来我们说一说这个进度条程序。

先把程序给大家。

wKioL1dOSAfTDKkXAAIgCKbJ62A786.png

先分析一下程序:

[ %-100s ] :-100是左对齐的意思。

[ %d%% ]:第一个%是输出%,然后%d,再%是对第二个%的转义。

\r:是回车。意思是每次光标会回到行首。\n:是换行,意思到下一行 要注意二者的区别。

buff [  i%4 ]:这样就会间断输出buff里面的内容,视觉上有一个动态的图画。

fflush( stdout):刷新输出缓冲区。它可以即时的将缓冲区的内容打印到屏幕上。

接下来就是看我们的运行结果了。。。。

wKioL1dOSfKz72A_AAINjJzcvmU034.png