今天写一个很简单的结束进程的程序,使用_exit()函数,_exit()函数没有返回值,也不会处理标准I/O缓冲区!写的小程序是这样子的:

 1 #include<stdlib.h> 2  3 int main() 4  5 { 6  7 printf("hello!"); 8  9 printf("hello my linux!");10 11 _exit(0);12 13 }

然而在终端运行之后才发现没有任何的输出!试了很多种方法,最后发现,当将

printf("hello!");

printf("hello my linux!");

改为:

printf("hello!\n");

printf("hello my linux!\n");

输出hellio和hello my linux,结合-exit()函数不处理缓冲区,查阅资料后发现,在ANSI C提供的标准输入输出中为了省掉多次写入和输出,设有缓冲区,分为全缓冲和行缓冲,

对于全缓冲,当填满标准I/O缓存后才进行实际I/O操作。对驻留在磁盘上的文件的访问通常是由标准I/O库实施全缓冲的。

而对于行缓冲,当在输入和输出中遇到新行符时,标准I/O库执行I/O操作,一般遇到\n时进行I/O操作,当涉及终端时应联系到行缓冲!

转载于:https://www.cnblogs.com/LJTbozai/archive/2011/08/18/2144184.html

由_exit()引起的对于缓冲区的理解相关推荐

  1. C++编程对缓冲区的理解

    C++编程对缓冲区的理解 什么是缓冲区 缓冲区又称为缓存,它是内存空间的一部分.也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区. 缓冲区 ...

  2. C语言编程对缓冲区的理解

    解析C语言编程对缓冲区的理解 转载自:http://soft.chinabyte.com/database/47/12481547.shtml 下面介绍缓冲区的知识. 一.什么是缓冲区 缓冲区又称为缓 ...

  3. maptask 的环形缓冲区 重点理解介绍

    maptask 的环形缓冲区 重点理解介绍 接下来,会将数据写入内存,内存中这片区域叫做环形缓冲区,缓冲区的作用是批量收集map结果,减少磁盘IO的影响.我们的key/value对以及Partitio ...

  4. mysql 插入缓冲_innodb insert buffer 插入缓冲区的理解

    今天在做一个大业务的数据删除时,看到下面的性能曲线图 在删除动作开始之后,insert buffer 大小增加到140.对于这些状态参数的说明 InnoDB Insert Buffer 插入缓冲,并不 ...

  5. C语言:以scanf的使用为例,对缓冲区的理解

    scanf不接收空格,回车,遇到时认为输入结束. #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib. ...

  6. 【看表情包学Linux】文件描述符 | 重定向 Redirection | dup2 函数 | 缓冲区的理解 (Cache)

  7. 【Linux】分析缓冲区,刷新机制,FILE

    文章目录 一.Linux的缓冲区 (一) 用户层缓冲区 (二) 内核层缓冲区(Kernel Buffer Cache) 验证buffer增加和减少 释放缓存 二.缓冲区的刷新策略 (一) 用户层缓冲区 ...

  8. exit函数和_exit函数的二三事

    我们知道做什么事情都是有始有终,在编程中也是一样.在Linux中创建一个进程后,程序的末尾我们要将其退出,在Linux中进程退出总共有八种方法,本篇文章主要讲解其中两个函数. 调用格式 #includ ...

  9. Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析

    前面在介绍Android系统的开机画面时提到,Android设备的显示屏被抽象为一个帧缓冲区,而Android系统中的SurfaceFlinger服务就是通过向这个帧缓冲区写入内容来绘制应用程序的用户 ...

  10. C语言 之 如何清除输入缓冲区所有内容

    C语言中输入缓冲区的处理是一个坑,当程序做大的时候,当我们频繁的输入字符型的数据的时候就会遇到,之前看到过课本上简单的处理方法使用fflush()函数可getchar(),但是前者在新版的VS效果不理 ...

最新文章

  1. [Tkinter 教程] 布局管理 (Pack Place Grid)
  2. android studio你可能忽视的细节——启动白屏?drawable和mipmap出现的意义?这里都有!!!...
  3. 【实用工具】之移除PDF的密码PDF Password Remover 3.0 汉化版
  4. iOS 将本地项目/demo上传到github的简单方法
  5. 山西特岗考试计算机专业真题,山西特岗教师招聘考试模拟题_信息技术选择题...
  6. 蚂蚁金服井贤栋:用技术联手金融机构,形成服务小微的生态合力
  7. Oracle使用systimestamp取微秒
  8. 使用补丁修改DSDT/SSDT [DSDT/SSDT综合教程]
  9. Hcse 交换知识点-3
  10. 解析Excel(xls、xlsx两种格式)
  11. linux环境下java输出乱码,linux java 输出乱码问题
  12. NOIP2015游记
  13. Side-Tuning:domain adaption
  14. windows下cmd命令(全面)更新版
  15. 内部DNS服务器搭建
  16. 项目管理 软件版本号的命名格式和规则
  17. 移动手机卡支持NFC支付 小米2A刷地铁体验
  18. 操作简单的BI数据分析软件有哪些?实际体验如何?
  19. 当前在大数据和人工智能领域创业能否快速崛起
  20. 《最高人民法院关于审理利用信息网络侵害人身权益民事纠纷案件适用法律若干问题的规定》

热门文章

  1. KeyShot中该怎么添加反射地平面
  2. Emacs学习笔记(8): 使用emacs浏览网页
  3. Android深入浅出系列之实例应用—开机就运行自定义的程序BroadcastReceiver和intent-filter的用法...
  4. Boost和STL学习资料大全
  5. windows sesrver2003下搭建DHCP服务器
  6. Android开发人员必看的资料
  7. CF1040A Palindrome Dance
  8. html+css基础-2-盒子模型、选择器优先级、新增伪元素、display:none
  9. java 主流算法_java常用算法
  10. x光肺部分割数据集_一个超小型分割检测数据集