Linux第一个小程序-进度条 _git

\r&&\n是什么

\r:回车的意思 回车:将光标移动到行开头。
\n:回车+换行 (将光标移动到行开头+光标处换到一行)

缓冲区

缓冲区:缓冲区先简单理解为一块内存,为显示器准备的。
显示器的显示,通过缓冲区,要显示的内容先要放进缓存区。
顺序:显示的内容-》 缓冲区-》 显示器。
缓冲区的内容冲刷到显示器的规则:缓冲器满了 程序结束 缓冲区遇见\n
缓冲区的内容会冲刷到显示器上。
c语言中还有函数可以强制冲刷缓冲区:ufllush(stdout);
参数是标准输出,c语言程序会默认打开三种文件流:1.stdin(标准输入)
2.stdout(标准输出)3.stderr(标准错误)。
stdin 键盘写入缓冲区
stdout 显示器的输出
显示区的输出 :有立即显示的,有滞后显示的。

 

 
//什么现象???
//这里的打印 有\n 显示信息到printf()函数会立即在屏幕上打印
#include <stdio.h>
int main()
 {
    printf("hello Makefile!\n"); 
    sleep(3);
    return 0;
 }

// 什么现象??
// printf()函数中\n 这里的显示信息会在程序结束的时候显示
 #include <stdio.h>
 
int main()
 {
    printf("hello Makefile!");
    sleep(3);
    return 0;
 }

进度条代码

#include <unistd.h>
 #include <string.h>
 int main()
 {
 int i = 0;
 char bar[102];
 memset(bar, 0 ,sizeof(bar));
 const char *lable="|/-\\";
 while(i <= 100 ){
 printf("[%-100s][%d%%][%c]\r", bar, i, lable[i%4]);
 fflush(stdout);
 bar[i++] = '#';
 usleep(10000);
 }
 printf("\n");
 return 0;
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值