当前位置: 首页 > news >正文

农业公司怎样建立网站做导购网站多少钱

农业公司怎样建立网站,做导购网站多少钱,网站管理规范,潍坊市建设工程管理处网站文章目录 1.文件缓冲区1.1介绍1.2缓冲文件系统1.3冲刷函数fflush1.4认识linux下的缓冲区 2.linux小程序的实现2.1 回车\r和换行\n2.2倒计时程序2.3进度条小程序sleep/usleep代码运行结果 1.文件缓冲区 1.1介绍 为缓和 CPU 与 I/O 设备之间速度不匹配,文件缓冲区用以…

文章目录

  • 1.文件缓冲区
    • 1.1介绍
    • 1.2缓冲文件系统
    • 1.3冲刷函数fflush
    • 1.4认识linux下的缓冲区
  • 2.linux小程序的实现
    • 2.1 回车\r和换行\n
    • 2.2倒计时程序
    • 2.3进度条小程序
      • sleep/usleep
      • 代码
      • 运行结果

1.文件缓冲区

1.1介绍

为缓和 CPU 与 I/O 设备之间速度不匹配,文件缓冲区用以暂时存放读写期间的文件数据而在内存区预留的一定空间。使用文件缓冲区可减少读取硬盘的次数。

1.2缓冲文件系统

系统自动地在内存为程序中每一个正在使用的文件开辟一块文件缓冲区。

  • 从内存向磁盘输出数据,先送到内存中的缓冲区,缓冲区装满后一起输送到磁盘上。
  • 从磁盘向计算机读入数据,从磁盘文件中读取数据输入到内存缓冲区(充满缓冲区),从缓冲区逐个地将数据送到程序数据区(程序变量等)。
  • 缓冲区的大小根据C编译系统决定。

1.3冲刷函数fflush

int fflush( FILE *stream );
将缓冲区内数据写到stream 指定文件。
成功返回 0 
错误返回 EOF 
高版本vs无法使用
fclose关闭文件时也会刷新缓冲区#include <stdio.h>
#include <windows.h>
int main() 
{FILE* pf = fopen("test7.txt", "w");if (!pf){perror(fopen);return 1;}fputs("abcdef", pf); //数据输出到buffer//此时文件中无内容Sleep(10000);        //睡眠10sfflush(pf);          //刷新缓冲区Sleep(10000);        //睡眠10s//此时数据到达文件fclose(pf);pf = NULL;return 0;
}

1.4认识linux下的缓冲区

在这里插入图片描述

在这里插入图片描述
在linux下gcc编译这两段代码时 结果是不同的 左边先输出后睡眠 右边先睡眠后输出

c语言不是从上到下一行一行执行的吗?

确实是的 实际上printf先于sleep执行但是sleep执行完后这个程序才结束 才会输出信息

为什么执行流到printf时 不直接显示以及为什么左边加了换行就能先显示?

c语言存在输出缓冲区(一段内存空间) 显示器设备一般的刷新策略是行刷新 即碰到\n就把\n之前的所有的字符显示出来 所以左边代码先显示 后边代码存入到缓冲区 直到程序结束才显示

当一个程序执行会自动打开stdin srdout stderr三个标准IO流

在这里插入图片描述

如何在没有换行符的情况下让他执行到printf时就显示?

在这里插入图片描述

#include <stdio.h>
#include<unistd.h>
int main()
{printf("hello linux!");fflush(stdout);sleep(3);return 0
}

2.linux小程序的实现

2.1 回车\r和换行\n

在这里插入图片描述

老式键盘的Enter: 实际上是 换行+回车[C语言中的\n也是]

在这里插入图片描述

#include <stdio.h>
#include<unistd.h>
int main()
{int count = 5;while(count){printf("count是: %d\n",count);count--;sleep(1);return 0;}
}

可以正常输出

#include <stdio.h>
#include<unistd.h>
int main()
{int count = 5;while(count){printf("count是: %d\r",count);count--;sleep(1);return 0;}
}

不输出任何内容

2.2倒计时程序

#include <stdio.h>
#include<unistd.h>
int main()
{int count = 5;while(count){printf("count是: %d\r",count);fflush(stdout);count--;sleep(1);return 0;}
}

每执行一次printf 将要输出的信息输出到缓冲区 当执行fflush函数时 将信息从缓冲区刷到显示器 之后\r回车 光标回到行首 count–

2.3进度条小程序

sleep/usleep

在这里插入图片描述

在这里插入图片描述

代码

在这里插入图片描述

运行结果

linu-vim-c-bar

http://www.vuetechworld.com/news/286/

相关文章:

  • 天津平台网站建设报价仿做网站要多少钱
  • 网站的域名分为哪些用外国人的照片做网站
  • 房产网站设计公司html模板制作
  • 设置网站开场动画网站黑名单查询
  • 网站的风格设计有哪些产品开发软件
  • 青岛网站建设公司在哪蓝色商务网站模板
  • 中国做陶壶的网站有哪些电脑谷歌浏览器打开是2345网址导航
  • 浙江省工程建设管理协会网站湛江网站建设方案书
  • 六安网站建设找哪家企业网站建设应该计入哪个科目
  • 做网站那个php好用驾校网站模板
  • 用ps做网站wordpress跨境平台
  • 电商网站开发教材合肥做核酸最新通知
  • 快速网站备案手机网址大全123客户端下载
  • 百度权重排名高的网站英语网站案例
  • 网站建设 书网站注册了域名然后怎么做
  • 厦门网站设计开发网页公司app营销推广方案
  • 蚌埠网站建设公司php网站服务器
  • 上海市住宅建设发展中心网站南京网站优化平台
  • 天津网站设计 河西广告设计与制作就业前景
  • 玛迪做网站线上推广媒体广告
  • 网站建设有什么证上海seo课程
  • 陕西省汉中市城乡建设网站济南建设网站平台
  • asp网站配色360地图下载最新版
  • php班级网站建设网页设计图片素材小插件
  • wordpress企业网站seo北京网站排行榜
  • 天津和平做网站公司vi视觉形象设计
  • 景安网站备案要多久wordpress login wall
  • 装门做特卖的网站公司商标设计图案logo
  • 查建筑材料的网站文化馆互联网站建设方案
  • 网页界面设计教材培训seo去哪家机构最好