stdin stdout stderr 标准I/O流】的更多相关文章

Unix中一切皆文件,磁盘等设备在操作系统来看都是文件. 对文件进行操作时,需要打开这个文件,并获得文件描述符(file descriptor, fd) 而每个进程生来就有三个文件描述符绑定在它身上,分别指向标准输入,标准输出和标准错误. 鼠标键盘——标准输入设备,标准输入文件,指针stdin: 显示器——标准输出设备,标准输出文件,指针stdout: 一切皆文件,设备也是文件: stdout.stdin.stderr是指针,指向文件的指针. 如果要更改指向的文件,例如不输出到显示器上,而是输出…
Fd #include <stdio.h> Fd extern FILE *stdin; Fd extern FILE *stdout; Fd extern FILE *stderr; DESCRIPTION 描述 通常,每个 Unix 程序在启动时都会打开三个流,一个用于输入,一个用于输出,一个用于打印诊断或错误消息.典型的,他们被连接到用户的终端 (参见 tty(4)) 但是也有可能指向文件或是其他设备,取决于父进程选择设置了什么 (参见 sh(1) 的重定向 (``Redirection…
stdin,stdout,stderr stdin=0 stdout=1 stderr=2 使用tee来传递内容,把stdout 作为stdin 传到下个命令 root@172-18-21-195:/tmp/pratice# echo "who is this" | tee - # -相当于传入到stdout,所以打印2次 who is this who is this root@172-18-21-195:/tmp/pratice# echo "who is this&qu…
Abstract: 1) Linux Shell 命令的标准输入.标准输出.标准错误,及其重定位: 2)Linux Shell 操作自定义文件描述符: 文件描述符是与文件相关联的一些整数,他们保持与已打开文件的关联.众所周知的文件描述符是标准输入stdin.标准输出stdout.标准错误stderr,我们可以重定位这些文件描述符关联文件的内容到另外一个文件文件描述符. 1. Linux Shell 命令的标准输入.标准输出.标准错误 当我们在编写 shell 脚本时,我们会非常频繁地操作执行命令…
详细见: http://my.oschina.net/qihh/blog/55308 stdin是标准输入文件,stdout是标准输出文件,stderr标准出错文件. 程序按如下方式使用这些文件: 标准输入是程序可以读取其输入的位置.缺省情况下,进程从键盘读取 stdin . 标准输出是程序写入其输出的位置.缺省情况下,进程将 stdout 写到终端屏幕上. 标准错误是程序写入其错误消息的位置.缺省情况下,进程将 stderr 写到终端屏幕上.…
WorkerMan中work.php中 resetStd 方法中代码如下 public static function resetStd() { if (!static::$daemonize || static::$_OS !== 'linux') { return; } global $STDOUT, $STDERR; $handle = fopen(static::$stdoutFile, "a"); if ($handle) { unset($handle); //关闭标准输出…
在Linux下,当一个用户进程被创建的时候,系统会自动为该进程创建三个数据 流,也就是题目中所提到的这三个.那么什么是数据流呢(stream)? 我们知道,一个程序要运行,需要有输入.输出,如果出错,还要能表现出自身的错误.这是就要从某个地方读入数据.将数据输出到某个地方,这就够成了数据流. 执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘:标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕.进程将从标…
FROM : http://www.cnblogs.com/thinksasa/archive/2013/02/27/2935158.html PHP CLI(command line interface)中,有三个系统常量,分别是STDIN.STDOUT.STDERR,代表文件句柄. 应用一: <?php while($line = fopen('php://stdin','r')){ echo fgets($line); } ?> 应用二: <?php echo STDIN; ?&g…
PHP CLI(command line interface)中,有三个系统常量,分别是STDIN.STDOUT.STDERR,代表文件句柄. 应用一: <?php while($line = fopen('php://stdin','r')){ echo fgets($line); } ?> 应用二: <?php echo STDIN; ?> 在dos命令行下直接返回STDIN文件指针(文件句柄).如图: 应用三: <?php echo fgets(STDIN); ?>…
由open返回的文件描述符一定是该进程尚未使用的最小描述符.由于程序启动时自动打开文件描述符0.1.2,因此第一次调用open打开文件通常会返回描述符3,再调用open就会返回4.可以利用这一点在标准输入.标准输出或标准错误输出上打开一个新文件,实现重定向的功能.例如,首先调用close关闭文件描述符1,然后调用open打开一个常规文件,则一定会返回文件描述符1,这时候标准输出就不再是终端,而是一个常规文件了,再调用printf就不会打印到屏幕上,而是写到这个文件中了.后面要讲的dup2函数提供…
参考: http://qiusuoge.com/11496.html http://www.cnblogs.com/BoyXiao/archive/2011/01/01/1923828.html stdin是标准输入,stdout是标准输出,stderr是标准错误输出.大多数的命令行程序从stdin输入,输出到stdout或 stderr,有时我们需要重定向stdout,stderr,stdin.比如:将输出写入文件,又或者我们要将命令行程序输出结果显示到 Windows对话框中. 相关阅读 -…
**From : http://www.pixelbeat.org/programming/stdio_buffering/** 我发现找出标准流用的是什么缓冲是一件困难的事. 例如下面这个使用unix shell 管道的例子: $ command1 | command2 下图显示了shell fork了两个进程并通过一个管道将他们联系起来.在这个连接中移动使用了三个缓冲. 内核中的缓冲区室友pipe系统函数生成的,它的大小取决于操作系统的页大小.我们无法也没必要控制这个缓冲区的大小,因为它会立…
From : http://www.pixelbeat.org/programming/stdio_buffering/ 译者:李秋豪 我发现找出标准流用的是什么缓冲是一件困难的事. 例如下面这个使用unix shell 管道的例子: $ command1 | command2 下图显示了shell fork了两个进程并通过一个管道将他们联系起来.在这个连接中移动使用了三个缓冲. 内核中的缓冲区室友pipe系统函数生成的,它的大小取决于操作系统的页大小.我们无法也没必要控制这个缓冲区的大小,因为…
movie.mpeg.001 movie.mpeg.002 movie.mpeg.003 ... movie.mpeg.099   $cat movie.mpeg.0*>movie.mpeg     Examples: cat f - g Output f's contents, then standard input, then g's contents. cat Copy standard input to standard output. Shell 输入/输出重定向 https://ip…
lienhua342014-09-29 1 标准 I/O 流 之前学习的都是不带缓冲的 I/O 操作函数,直接针对文件描述符的,每调用一次函数可能都会触发一次系统调用,单次调用可能比较快捷.但是,对于需要频繁进行 I/O 操作的程序,频繁触发系统调用产生的消耗太大. 标准 I/O 库提供了带缓冲的 I/O 操作函数,这些函数围绕着一种叫做流(stream)的东西进行.当使用标准 I/O 库打开或创建一个文件时,系统提供了一个流与这个文件相关联.通过流的读入和输出完成所需要的 I/O操作. 标准…
1. 引言 标准I/O库由ISO C标准说明,由各个操作系统实现 标准I/O库处理很多细节,如缓冲区分配.以优化的块长度执行I/O等.这些处理使用户不必担心如何使用正确的块长度,这使得它便于用于使用,但是如果不深入地了解I/O库函数的操作,也会带来一些问题. 2. 流和FILE对象 第3章中,所有I/O函数都是围绕文件描述符的:对于标准I/O库,它们的操作是围绕流FILE *进行的,称其为文件指针. FILE对象通常是一个结构,它包括了标准I/O库为管理该流需要的所有信息,包括用于实际I/O的文…
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/kangear/article/details/24534707      说下背景:如今众多Android开发人员新加入的Google临时并不会支持的功能,比方拨号上网,USB打印机等等,一般的实现方法就是静态编译Linux的相对开源库和程序(通常是C/C++语言).然后由Apk一层一层调用,终于是调用这个命令来实现的详细的功能.      功能的实现简单.可是假设要完好一下的话,还是会有比方错误…
标准I/O对象:cin,cout,cerr,clog cout; //全局流对象 输出数据到显示器 cin; //cerr没有缓冲区 clog有缓冲区 cerr; //标准错误 输出数据到显示器 clog; //标准日志 输出数据到显示器 一.标准输入流 cin.get() //一次只能读取一个字符 char ch; while ((ch = cin.get()) != EOF){//EOF就是键盘Ctrl+z,常被作为结束的标志 cout << ch << endl; } /*…
Dim StdIn, StdOutSet StdIn = WScript.StdInSet StdOut = WScript.StdOut Do While Not StdIn.AtEndOfStream     str = StdIn.ReadLine                         '读取cmd屏幕写入的字符串         If str="exit" Then WScript.Quit     StdOut.WriteLine "Line "…
1.浮动 浮动是CSS中用到的最多的一个选项,他有三个性质.关于浮动我们要强调一点,永远不是一个东西单独浮动,浮动都是一起浮动,要浮动,大家都浮动. 1.1 浮动元素脱离标准文档流 1.1.1 大概描述:有两个盒子,一个盒子浮动,一个盒子不浮动.浮动的盒子会脱离标准文档流,不浮动的盒子会在标准文档流中成为第一个,所以两者出现覆盖现象. 1.1.2 大概描述:一个行内标签在标准文档流中是不能设置宽高的,但是使用float使其脱离文档流之后,就可以对其设置宽高了.所有浮动的标签不会去区分行内标签和块…
(个人知识有限,难免有误,请见谅) 标准文档流,顾名思义,是要按照一定规矩排列的,默认的就是元素会从左至右,从上至下排列,块级会独占一行,行内元素会和小伙伴们共享一行. 本来在标准文档流下,各个元素相安无事,可突然有一天某个元素心想啊,我那么优秀,不该出现在这里啊,于是它成精了,它发现了一道大门走向另一个空间BFC. BFC:直译为"块级格式化上下文",这是一个独立的区域,这个区域与外部没有关系了,互不招惹,个人常用的会开启BFC空间的方式有 1.float的值不是none 2.pos…
CSS float 浮动属性介绍 float属性:定义元素朝哪个方向浮动. 1.页面标准文档流.浮动层.float属性 1.1 文档流 HTML页面的标准文档流(默认布局)是:从上到下,从左到右,遇块(块级元素)换行. 1.2 浮动层 浮动层:给元素的float属性赋值后,就是脱离文档流,进行左右浮动,紧贴着父元素(默认为body文本区域)的左右边框. 而此浮动元素在文档流空出的位置,由后续的(非浮动)元素填充上去:块级元素直接填充上去,若跟浮动元素的范围发生重叠,浮动元素覆盖块级元素.内联元素…
一. 什么是标准文档流 文本流其实就是文档的读取和输出顺序,也就是我们通常看到的由左到右.由上而下的读取和输出形式,在网页中每个元素都是按照这个顺序进行排序和显示的,而float和position两个属性可以将元素从文本流脱离出来显示. 标准文档流的围观现象有3种: 1.空白折叠现象:多个空格或者换行会被折叠成一个. 2.高矮不齐,底边对齐. 3.自动换行,一行写不完,自动换行. <!DOCTYPE html> <html lang="en"> <head…
---恢复内容开始--- 一继承性 1.继承: 给父级设置一些属性,子级继承了父级的该属性,这就是我们的css中的继承. 2. 可继承: color . font-*(size). text-*(decoration:underline).line-*(height)  行高 等可以继承(主要是文本级的标签元素)    (a比较特殊) 3.不可继承 :但是像一些盒子元素属性,定位的元素(浮动,绝对定位,固定定位)不能继承. 二.层叠性 层叠性 : 权重大的标签覆盖掉了权重小的标签  (数  id…
css标准文档流 所谓的标准文档流指的是网页当中的一个渲染顺序,就如同人类读书一样,从上向下,从左向右.网页的渲染顺序也是如此.而我们使用的标签默认都是存在于标准文档流当中. 标准文档流当中的特性 空格产生折叠 当在代码中存在多个空格的时候,空格会出现折叠现象. 2.元素默认底边对齐 当多个元素并排显示的时候,默认会采用底边对齐. 3.文字自动换行 当在一行范围内去输出文字的时候,当一行的宽度不够时,文字会发生自动换行. 块级元素和行内元素 在标准文档流当中,元素分为块级元素和行内元素. 如果想…
一.标准文档流 什么是标准文档流 宏观的将,我们的web页面和ps等设计软件有本质的区别,web 网页的制作,是个“流”,从上而下 ,像 “织毛衣”.而设计软件 ,想往哪里画东西,就去哪里画 标准文档流下 有哪些微观现象? 1.空白折叠现象 多个空格会被合并成一个空格显示到浏览器页面中.img标签换行写.会发现每张图片之间有间隙,如果在一行内写img标签,就解决了这个问题,但是我们不会这样去写我们的html结构.这种现象称为空白折叠现象. 2.高矮不齐,底边对齐 文字还有图片大小不一,都会让我们…
昨日内容回顾 高级选择器: 后代选择 : div p 子代选择器 : div>p 并集选择器: div,p 交集选择器: div.active 属性选择器: [属性~='属性值'] 伪类选择器 a LoVe HAte 必须要 遵循这个准则 “爱恨准则” nth-child(3n+1) first-child last-child 继承性和层叠性 继承性: 文本的属性: color text-*,line-*,font-* 盒子属性 定位布局的元素 层叠性: 1.先看标签元素有没有被选中,如果选中…
03--CSS布局设置 本节目录 一 盒模型 二 padding(内边距) 三 boder(边框) 四 简单认识一下margin(外边距) 五 标准文档流 六 块级元素和行内元素 七 浮动 八 margin的用法 九 文本属性和字体属性 十 超链接导航栏案例 十一 background(背景) 十二 定位 十三 z-index 一 盒模型 盒模型 在CSS中,"box model"这一术语是用来设计和布局时使用,然后在网页中基本上都会显示一些方方正正的盒子.我们称为这种盒子叫盒模型.…
盒模型 在CSS中,"box model"这一术语是用来设计和布局时使用,然后在网页中基本上都会显示一些方方正正的盒子.我们称为这种盒子叫盒模型. 盒模型有两种:标准模型和IE模型.我们在这里重点讲标准模型. 盒模型示意图 盒模型的属性 width:内容的宽度 height: 内容的高度 padding:内边距,边框到内容的距离 border: 边框,就是指的盒子的宽度 margin:外边距,盒子边框到附近最近盒子的距离 如果让你做一个宽高402*402的盒子,您如何来设计呢? 答案有…
1.标准文档流 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> span{ font-size: 50px; } </style> </head> <body> <d…