文章目录
浅谈缓冲区
浅谈缓冲区,只是大概的提一下
🍐 缓冲区:本质上是一块内存空间,用来缓冲数据的
🍑 刷新:把数据真正写入磁盘 显示器 网络等设备或文件
🍊 缓冲区刷新策略:
1.直接刷新:比如有些错误需要尽快显示到屏幕上,就会直接刷新
2.行刷新:比如c语言里的\n就属于行刷新
3.全缓冲:缓冲区写满了就刷新
4.强制刷新:比如fflush
以下面代码说明一下行刷新:
1 #include<stdio.h>2 #include<unistd.h>345intmain()6{7printf("hello world\n");8sleep(5);91011return0;12}
观察下面的现象:
现象:有\n时直接打印hello world 然后睡眠5s
没有\n睡了5s后才打印的hello world
原因:printf打印的数据放在缓冲区中,如果有\n就会触发缓冲区的行刷新,数据会被直接输出到屏幕上,而去掉\n后,数据一直在缓冲区中,直到睡了5s后缓冲区才被刷新,数据才被输出到屏幕
🍑小知识:回车指的是光标移到这一行的行首
换行指的是光标移到下一行(注意不会回到行首)
回车换行才是另起一行
C语言里的’\n’意思就是回车换行,’\r‘的意思是回车,就是光标回到行首,但是并不会换行
🍑思考:把’\n‘换成’\r’有什么现象?
答:换成’\r‘后hello world不会被输出 一直停在缓冲区里了,要让其显示需要fflush(stdout)
注释:stdout是C语言的一个文件指针,表示屏幕,fflush强制刷新缓冲区
man找不到库函数
sudo yum install man-pages
Linux小程序 进度条
#include<stdio.h>#include<unistd.h>#include<string.h>#defineNUM100intmain(){char bar[NUM+3];memset(bar,0,sizeof(bar));constchar* lable="|/-\\";int i=0;while(i<=NUM){//printf("\033[47;31mhello world\033[5m"); 输出字体颜色
bar[i]='-';
bar[i+1]='>';printf("[%-101s][%d%%][%c]\r",bar,i,lable[i%4]);//使用了/r,必须强制刷新缓冲区,不然数据不会输出到屏幕,留在缓冲区了 fflush(stdout);//强制刷新usleep(100000);
i++;}printf("\n");return0;}//想改变输出字体颜色的可以百度搜索"设定printf在终端输出的颜色"
效果演示:
git的使用
git --version: 查看当前git的版本
如果没有git的话,sudo yum install git
上传Linux文件到gitee
新建仓库->复制链接->git clone 链接名->往生成的目录里放上传的文件->git add 文件名 ->git commit -m “具体改动” ->git push
🍑0.新建仓库
🍑1.复制链接
🍑2.git clone 链接
此时在目录下会生成一个新的目录(目录名取决于链接)
新的目录里有隐藏文件 ls -al 看到隐藏文件并列出来,隐藏文件就是git的相关配置
把新生成的目录记为new_dir
🍑3.把要上传的文件复制到new_dir
cp命令拷贝要上传的文件到new_dir
🍑4. git add 要上传的目录/文件
linux里目录也看作文件
这一步的作用:把要管理的文件告知git
如 git add new_dir
.表示当前目录
🍑5.git commit -m "具体操作"
如 git commit -m “第一次提交测试”
没有修改过文件会报错
🍑6.git push
作用:同步到远端服务器上
这一步要输入自己gitee登录的账号和密码
简单来说,就是把代码传到 gitee 上
如果觉得输入麻烦的话 可以百度配置一下
成功后刷新网页就可以看到要刷新的文件
git三板斧
git add
git commit
git push
报错记录和解决
🍐
解决:
找到.git下的config文件 在里面添加
[user]
name=gitee账号
email= 邮箱
🍐报错信息:Everything up-to-date
在git push 出现可能是git commit这一步有问题
🍐报错信息:On branch master
nothing to commit, working directory clean
可能是文件没修改
🍐报错信息:Everything up-to-date
在git push 出现可能是git commit这一步有问题
此外三板斧要按顺序进行,不然会报错
版权归原作者 你算哪一个bug? 所有, 如有侵权,请联系我们删除。