C标准输入输出重定向

C中的标准输入输出可以进行重定向到文件。

示例程序:(C Primer Plus示例8.2)

// echo_eof.c -- 重复输入,直到文件的结尾
#include <stdio.h>
int main(void)
{
    int ch;
    while ( (ch = getchar()) != EOF)
        putchar(ch);

    return 0;
}

编译运行。在终端中运行:

>echo_eof.exe

则标准输入输出为键盘和显示屏。

同样的,将标准输入重定向到文件echo_eof.c:

>echo_eof.exe < echo_eof.c

更进一步,将输出重定向到tmp.txt:

>echo_eof.exe < echo_eof.c >tmp.txt

等于实现了文件的复制操作!

C标准输入输出重定向,布布扣,bubuko.com

时间: 2024-12-28 01:40:03

C标准输入输出重定向的相关文章

Mac 命令学习 - 标准输入输出重定向

预备知识 文件描述符( File Descriptor ) 在Unix 系统中文件描述符是用于访问文件.输入输出.管道.网络套接字的一个抽象概念[3].文件描述符是一个非负的正整数,每一个Unix进程中都会有三个与标准流所对应的的POSIX文件描述符,分别为: stdin - 标准输入,提供给应用的标准输入.文件描述符为0. stdout - 标准输出,程序的输出,在非重定向的情况下为终端.文件描述符为1. stderr - 标准错误输出,程序的错误输出.文件描述符为2. 关于文件描述符的详细,

linux 标准输入输出 重定向

背景: 屏幕打印不一定都是从标准输出来的,也包括标准错误输出流stderr中的信息 文件描述符定义(系统定义了12个) 0 标准输入 1 标准输出 2 标准错误 0 默认键盘输入 1,2默认从屏幕打印,可以重定向到其他文件 参考: 流,管道重定向[IBM]: http://www.ibm.com/developerworks/cn/linux/l-lpic1-v3-103-4/ 重定向执行顺序:http://blog.chinaunix.net/uid-25324849-id-3141027.h

标准输入输出重定向

程序会在运行中输出日志,并是通过java的日志类进行输出的.而如果关掉SSH运行程序,就会丢失这些信息.直观的解决办法是将输出到控制台的日志重定向到文件中,于是我将命令改为:sh auto.sh > console.txt &.不过事实并没像我想的那样,console.txt虽然被创建了,而日志并没有写在其中.后来请教Robert Chen,他让我用sh auto.sh >console.txt 2>&1 & 命令试一下,我输入了这个隐晦的命令之后,原本输出到控制

管道重定向之重定向标准输入输出句柄

管道重定向之重定向标准输入输出句柄1.如果控制台应用程序数据流中包含中文,则要调用 _tsetlocale(LC_ALL, _T("chs")),否则数据流中的中文字符会被当成中止符而被截断,如printf("abc中文def"),只会输出"abc" 2.printf,cout,wcout中的换行符'\n',会被修改为回车加换行'\r\n'传递到管道中,如有语句printf("abc\r\n"),传递的真实数据流是"

标准输入输出,输出重定向

标准输入输出: 输出重定向: 正确输出和错误输出同时保存:  命令 &>/dev/null 这条指令把正确输出写入文件中,错误输出丢入黑洞 解释: 放在>后面的&,表示重定向的目标不是一个文件,而是一个文件描述符,内置的文件描述符如下 1 => stdout 2 => stderr 0 => stdin 换言之 2>1 代表将stderr重定向到当前路径下文件名为1的regular file中,而2>&1代表将stderr重定向到文件描述符

标准输入输出

标准输入输出和管道  三种输入和输出设备 把输出和输入重定向到文件 使用管道连接命令 一.标准: 输入(STDIN)-0,默认是键盘鼠标的输入窗口 输出(STDOUT)-1,默认设备当前终端窗口 错误(STDERR)-2,默认当前终端窗口 1: 打开的文件都有一个fd: file descriptor (文件描述符) 二,输入输出重定向:改变文件位置 1,> 把输出STDOUT重定向到文件 2>把STDERR重定向到文件    &>把所有输出重定向到文件      > 文件

CentOS下输入输出重定向

nux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器的输出而是希望输出到某一文件中就可以通过Linux重定向来进行这项工作. Linux默认输入是键盘,输出是显示器.你可以用重定向来改变这些设置.比如用wc命令的时候本来是要手动输入一篇文字来计算字符数的,用了重定向后可以直接把一个已经写好的文件用‘<’指向这条命令,就直接可以统计这个文件的字符数等了.输出也是一样,你可以把屏幕输出重定向到一个文件里,再到文件里去看结果.重定向操作符可以用来

shell ——输入输出重定向

转自http://www.cnblogs.com/chengmo/archive/2010/10/20/1855805.html 在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作. 用户可以自定义文件描述符范围是:3-num,这个最大数字,跟用户的:ulimit –n 定义数字有关系,不能超过最大值. linux启动后,会默认打开3个文件描

输入输出重定向

0. C语言的标准输入输出 stdin stdout stderr 1. 重定向到文件 1 #include <stdio.h> 2 3 int main(){ 4 char a[100]; 5 if(1==0){ 6 freopen("data.txt","w",stdout); 7 printf("hello word"); 8 }else{ 9 freopen("data.txt","r"