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

宁德网站开发seo外包资讯

宁德网站开发,seo外包资讯,定制软件开发公司,小学网站源码目录 1.文件指针 2.文件缓冲区 2.1 行缓冲 2.2. 全缓冲 2.3. 无缓冲 3. 程序验证: (1)main.c执行test1(),打印hello world,不加 \n 换行符 (2)刷新缓冲区方法1:使用\n (3&am…

目录

1.文件指针

2.文件缓冲区

2.1 行缓冲

2.2. 全缓冲

2.3. 无缓冲

3. 程序验证:

(1)main.c执行test1(),打印hello world,不加 \n 换行符

(2)刷新缓冲区方法1:使用\n

(3)刷新缓冲区方法2:程序正常结束

(4)刷新缓冲区方法3:使用fflush函数刷新

(5)刷新缓冲区方法4:当缓冲区满的时候自动刷新,默认行缓冲的大小为1024个字节


1.文件指针

文件指针就是用于标识一个文件的,所有对文件的操作都是用对文件指针进行操作
定义文件指针的一般形式为:
FILE * 指针变量标识符;
本质上文件指针是一个结构体指针,结构体中包含了当前文件的很多信息,但是在实际
编程时,
不需要关系结构体中的成员,只需要使用文件指针即可 对文件操作的步骤:
1、对文件进行读写等操作之前要打开文件得到文件指针
2、可以通过文件指针对文件进行读写等操作
3、读写等操作完毕后,要关闭文件,关闭文件后,就不能再通过此文件指针操作文件
c语言中有三个特殊的文件指针无需定义,在程序中可以直接使用
1. stdin: 标准输入 默认为当前终端(键盘)
我们使用的scanf、getchar函数默认从此终端获得数据
2. stdout: 标准输出 默认为当前终端(屏幕)
我们使用的printf、puts函数默认输出信息到此终端
3. stderr: 标准错误输出设备文件 默认为当前终端(屏幕)
当我们程序出错使用:perror函数时信息打印在此终端

2.文件缓冲区

2.1 行缓冲

  1. 标准io库函数往标准输出(屏幕)输出东西的时候是行缓冲的。
  2. 所谓的行缓冲就是缓冲区碰到换行符的时候才刷新缓冲区。
  3. 如果不刷新缓冲区,无法对文件执行读写操作

2.2. 全缓冲

标准io库函数 ,往普通文件读写数据的,是全缓冲的, 碰到换行符也不刷新缓冲区,即缓冲区满了,才刷新缓冲区
刷新缓冲区的情况
1.缓冲区满了,刷新缓冲区
2.人为刷新缓冲区 fflush(文件指针)
3.程序正常结束 会刷新缓冲区

2.3. 无缓冲

在读写文件的时候通过系统调用io (read write),对文件进行读写数据
这个时候是无缓冲的,即写数据会立马进入文件,读数据会立马进入内存

3. 程序验证:

(1)main.c执行test1(),打印hello world,不加 \n 换行符

程序:

#include <stdio.h>void test1()
{//由于printf函数是一个标准io,所以只有刷新缓冲区才可以将数据输出到终端printf("hello world");
}int main(int argc, char const *argv[])
{test1();printf(" test 已执行 ");while(1) ;return 0;
}

运行结果:不加 \n 换行符,程序一直卡住,不能输出 hello world

(2)刷新缓冲区方法1:使用\n

程序:

#include <stdio.h>void test2()//验证刷新缓冲区方法1:使用\n,缓冲区,程序可以正常输出
{//由于printf函数是一个标准io,所以只有刷新缓冲区才可以将数据输出到终端printf("hello world\n");
}int main(int argc, char const *argv[])
{test2();printf(" test 已执行 ");while(1) ;return 0;
}

运行结果:

(3)刷新缓冲区方法2:程序正常结束

#include <stdio.h>int main(int argc, char const *argv[])
{//刷新缓冲区方法2:程序正常结束printf("hello world2 ");return 0;while(1) ;return 0;
}

运行结果:程序正常结束,直接return,也可以正常输出

(4)刷新缓冲区方法3:使用fflush函数刷新

程序:

#include <stdio.h>void test3()//验证缓冲区方法3:使用fflush函数刷新,程序可以支持输出
{
//由于printf函数是一个标准io,所以只有刷新缓冲区才可以将数据输出到终端printf("hello world3 ");//fflush:刷新函数。可以刷新指定的缓冲区//stdout:标准输出,就是对终端进行写操作fflush(stdout);
}int main(int argc, char const *argv[])
{test3();printf(" test 已执行 ");while(1) ;return 0;
}

运行结果:

(5)刷新缓冲区方法4:当缓冲区满的时候自动刷新,默认行缓冲的大小为1024个字节

程序:

#include <stdio.h>void test4()//验证缓冲区方法4:缓冲区满,刷新
{	 int i; for(i = 1; i < 300; i++){printf("%03d ", i);//3位数字,加1位空格,4个字节}}int main(int argc, char const *argv[])
{test4();printf(" test 已执行 ");while(1) ;return 0;
}

运行结果:打印结果三个字符加一个空格,打印一次4字节, 256*4 = 1024

http://www.dtcms.com/wzjs/331039.html

相关文章:

  • app使用什么做的网站吗cps广告联盟平台
  • 本机做web打开网站无法显示网站百度统计登录
  • 公司注销后 网站备案吗短视频培训机构
  • 企业网站建设可行分析西安网站建设网络推广
  • 网站体验调查问卷怎么做凡科建站收费价目表
  • 05网寒假作业答案百度优化是什么意思
  • 网站的规划与建设_按时间顺序可以分为哪等五个阶段关键词排名怎么查
  • 做网站售后几年靠谱的代运营公司有哪些
  • 东莞石龙网站建设莞网站制作广告联盟怎么做
  • 怎么自己创立网站深圳网站建设微信开发
  • 基本的网站建设知识厦门seo推广公司
  • 公司资质查询官方网站网络营销推广价格
  • 武汉做网站找互赢网络安徽网站推广公司
  • 分析海尔网站的建设特点和优势性能优化大师
  • 什么建设网站网页设计代码
  • 公司怎样建自己网站网站建设制作过程
  • 怎么用电脑做网站今日热榜
  • 网站必须做公安部备案吗上海seo培训中心
  • html做网站怎么链接音乐网站优化设计的基础是网站基本要素及每个细节的优化
  • 网站的标志是什么字体google 网站推广
  • 网站建设的广告词免费b站推广网站入口2020
  • 打码网站做的比较好的是哪些seo站长优化工具
  • 网站效果展示seo视频网页入口网站推广
  • 个人网站建设 免费上海哪家seo好
  • 做任务赚钱的网站源码关键词快速排名软件价格
  • 提升学历需要什么条件seo全称是什么意思
  • wordpress 删除评论长春seo优化
  • 重庆保安公司平台优化
  • 怎样做分类网站网络运营推广合作
  • 网页制作与网站建设实战大全注册百度账号免费