在unix系统调用中,标准输入 描述字用stdin,标准输出用stdout,标准出错用stderr表示,但在一些调用函数,引用了STDIN_FILENO表示标准输入才,同样,标准出入用STDOUT_FILENO,标准出错用STDERR_FILENO.他们的区别: stdin等是FILE *类型,属于标 准I/O,在<stdio.h>。STDIN_FILENO等是文件描述 符,是非负整数,一般定义为0, 1, 2,属于没有buffer的I/O,直接调用系统调用,在<unistd.h>。下面一个例子是对 STDOUT_FIFENO 和STDIN_FILENO的应用:#include<unistd.h> #define SIZE 100 int main(void) { int n; char buf[SIZE]; while(n=read( STDIN_FILENO ,buf,SIZE)) //读取标准输入到 buf中,返回读取字节数。 { if(n!=write( STDOUT_FILENO ,buf,n)) 把buf 写 到标准输出中 perror("write error"); } if(n<0) perror("read error"); return 0; } +++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++如果按照常规的使用方法: fan@fan:~/arm$ gcc -o app stdout.cfan@fan:~/arm$ ./app fdfe fdfe fefefef fefefef //输入一行,马上输出一行, 也就是按照原样输出========================= ==================================================使用重定向来运行 fan@fan:~/arm$ ./app> data fefe fdadfdf adfdfef //输入的字符串并不是输出到 终端,而是输出到data文件中。========================= =================================================fan@fan:~/arm$ ./app <stdout.c >datafan@fan:~/arm$ //这一句相当于把stdout.c复 制到data中去+++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++=STDOUT_FILENO和STDIN_FILENO 在默认的情况下是终端,使用ctrl+D来输入文件结束符
STDOUT_FILENO是标准输出的 文件描述符,int类型。stdout是标准输出流,FILE *类 型,注意是小写。
分享到:
相关推荐
用法示例 示例源代码: #include #include static int macro_fn(void) ... /* Read from stdin and write to stdout */ gfxd_input_fd(fileno(stdin)); gfxd_output_fd(fileno(stdout)); /* Overr
歌唱家微小的库可将颜色放入stdin / stdout :party_popper:用法npm install --save-dev kolorist import { red , cyan } from 'kolorist' ;console . log ( red ( `Error: something failed in ${ cyan ( 'my-file....
只需从stdin中读取传入的文本,然后将传出的文本写入stdout。 消息传递很简单。 每个入站WebSocket连接都会在专用过程中运行您的程序。 连接按进程隔离。 适用于Linux,OSX,Windows,FreeBSD,OpenBSD和Solaris。 ...
线索/reactphp-stdio 异步、事件驱动和 UTF-8 感知控制台输入和输出(STDIN、STDOUT),用于真正交互式 CLI 应用程序,构建在。 您可以使用这个库来构建真正的交互式和响应式命令行 (CLI) 应用程序,当用户输入一行...
tcgetattr(STDIN_FILENO, &oldt;); newt = oldt; newt.c_lflag &= ~(ICANON | ECHO); tcsetattr(STDIN_FILENO, TCSANOW,&newt;); oldf = fcntl(STDIN_FILENO, F_GETFL, 0); fcntl(STDIN_FILENO, F_SETFL, oldf |O_...
c3io利用stdin和stdout进行,以便与其他进程进行通信。 如果您只想在nodejs中与父子进行通信,则只需使用标准。 进展中-不稳定 用例 看看使用c3io与沟通的手段容器。 基本用法 var c3io = require('c3io')...
这是一组工具,可用于包装普通程序的stdin / stdout使其与松弛交互。 您将需要创建一个包含访问令牌的slack.token文件,该文件可以在Web API页面的底部找到: : 不要签入此文件! 它在.gitignore中进行了注释,...
气管通过wifi或互联网轻松创建stdin / stdout管道。 神奇的部分是该程序将根据主题字符串自动在本地网络甚至Internet上找到其他人,而无需交换IP地址。 只是直接通向另一个同伴的管道。用法在一个终端中: $ airpipe...
只要您可以编写一个读取STDIN并写入STDOUT的可执行程序,就可以构建WebSocket服务器。 用Python,Ruby,Perl,Bash,.NET,C,Go,PHP,Java,Clojure,Scala,Groovy,Expect,Awk,VBScript,Haskell,Lua,R等来...
便携式系统便携式版本,使用stdin / stdout与其他语言进行通信协议每行是一个json字符串。 托盘二进制=> =>准备就绪{"type": "ready"} <=初始化菜单{ " icon " : " <base64> " , " title " : " Title " , " ...
螃蟹Crabzilla 提供了一个简单的接口来运行 JavaScript 模块和 Rust 代码。例子use crabzilla::* ;use std:: io:: stdin; #[import_fn(name="read" , scope="Stdin" )]fnread_from_stdin () -> Value {letmut buffer...
只要您可以编写一个读取STDIN并写入STDOUT的可执行程序,就可以构建WebSocket服务器。 用Python,Ruby,Perl,Bash,.NET,C,Go,PHP,Java,Clojure,Scala,Groovy,Expect,Awk,VBScript,Haskell,Lua,R等来...
不使用microlib,添加FILE __stdout;FILE __stdin;后报错重复定义,删除添加的内容,添加次文件到工程
虫基于 Telehash 的端口转发命令行工具
Pipedump派生一个进程,然后执行指定的命令,充当STDIN,STDOUT和STDERR的代理。 调试数据和发送到STDIN的数据记录为从:: 1到::遍历的IPv6 UDP数据包。 从STDOUT和STDERR接收的数据记录为从::到:: 1遍历的IPv6 UDP...
It uses the inherited handles for STDIN and STDOUT to access the pipe created by the parent. The parent process reads from its input file and writes the information to a pipe. The child receives text...
有时我们需要重定向stdout,stderr,stdin。比如:将输出写入文件,又或者我们要将命令行程序输出结果显示到Windows对话框中。源码示范如何在Windows中实现,封装了几个简单易用的函数。
e Gee是每个文件和stdout的stdin工具。 它与tee命令类似,但为方便起见,还有更多功能。 此外,它还作为go标准输入写入了每个文件和stdout。 与tee相似,但是还有更多东西可以写Write简介Gee是每个文件和stdout的...
TermiJack从已经运行的进程中劫持标准流(stdout,stdin和/或stderr),并在完成后以静默方式返回它们。 在运行此脚本并将其附加到另一个进程时,用户可以与正在运行的进程进行交互,就像他们正在与原始终端进行...
res=tcgetattr(STDIN_FILENO, &org;_opts); assert(res==0); //从新设置终端参数 memcpy(&new;_opts, &org;_opts, sizeof(new_opts)); new_opts.c_lflag &= ~(ICANON | ECHO | ECHOE | ECHOK | ECHONL | ...