重定向输入与输出

来源:互联网 发布:遗传算法 电子书 编辑:程序博客网 时间:2024/04/27 15:57
重定向输入与输出就是把原本程序需要的输入,比如是标准输入读入的数据改从文件输入得到,或者是写入到标准输出的数据更改成为写到标准输出。


重定向输入与输出有两种方法,分别是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就可以了。
0 0