重定向输入与输出

重定向输入与输出就是把原本程序需要的输入,比如是标准输入读入的数据改从文件输入得到,或者是写入到标准输出的数据更改成为写到标准输出。


重定向输入与输出有两种方法,分别是freopen函数以及在操作系统内使用命令行进行。


首先是第一种方法,就是freopen函数,他有三个参数,第一个是重定向的文件名,第二个是字符串,代表是读入还是写入,读入是"r",写入是"w",第三个就是原本读入或者写入的文件名(键盘以及显示器都是文件,在c语言看来).


样例程序:
int main()
{
    freopen("in.txt","r",stdin);
    char ch;
    while((ch = getchar())!=EOF)
    {
        putchar(ch);
    }
    return 0;
}
这样子,当前目录下的in.txt文件里的所有数据都会当入要读入的数据来进行显示,其实这个程序就是把in.txt文件的数据全部显示在显示器上。


同时这个程序无论在linux还是Windows上都可以执行。


第二种方法就是,利用操作系统的命令行进行,再次例举两种主流的操作系统Linux和Windows。


在Linux下,编译一般是采用gcc编译器编译c程序,然后会生成一个a.out的文件(如果你不指定文件名的话),然后./a.out  < in就可以实现从in来读取输入数据。


在Windows下,编译好以后会生成一个exe的二进制文件,打开命令提示符转到对应目录下,假设生成的文件是a.exe的话,就可以a.exe  〈 in就可以了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值