文件重定向函数freopen

头文件:stdio.h

FILE *freopen( const char *filename, const char *mode, FILE *stream );

参数说明:

filename:需要重定向到的文件名或文件路径。

mode:代表文件访问权限的字符串。例如,"r"表示“只读访问”、"w"表示“只写访问”、"a"表示“追加写入”。

stream:需要被重定向的文件流。

返回值:如果成功,则返回该指向该输出流的文件指针,否则返回为NULL。

下面举一个例子:假设E盘下面有两个文本文档in.txt和out.txt,其中in.txt中第一行是一个数字n,表示接下有n行字符串,out.txt是一个空文档,现在想要将in.txt中的内容全部复制到out.txt中,当然可以通过fopen,getc,putc等函数实现,但这里使用文件重定向,将in.txt重定向为stdin,将out.txt重定向为stdout,这样stdin和stdout中的函数本来应该是从屏幕上读取和输出数据的,就变成了从in.txt中读取数据,写入到out.txt中了。

程序如下:

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
    const char * in ="E:\\in.txt";
    const char * out="E:\\out.txt";
    if(freopen(in,"r",stdin)==NULL)
    {
        cout<<"in.txt 打开失败"<<endl;
        return 0;
    }
    if(freopen(out,"w",stdout)==NULL)
    {
        cout<<"out.txt 打开失败"<<endl;
        return 0;
    }
    int n;
    cin>>n;
    cin.get();
    cout<<n;
    char str[50];
    while(n)
    {
        cin.getline(str,8);
        cout<<str<<endl;
        n--;
    }
    return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python小屋

在Python中执行JavaScript代码并进行数据交换

闲言碎语不多讲,今天介绍一下Python扩展库pyexecjs。 首先进入命令提示符环境,使用pip安装Python扩展库pyexecjs,瞬间完成: ? 然后...

2964
来自专栏喵了个咪的博客空间

phalapi-入门篇5(数据库操作和Model层)

#phalapi-入门篇5(数据库操作和Model层)# ? ##前言## 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源...

4257
来自专栏闵开慧

java文件基本操作与实例

11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择。因为文件是一种常见的...

3818
来自专栏Python

Flask-SQLAlchemy

一.SQLAlchemy介绍 SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之...

1.3K9
来自专栏技术专栏

慕课网Flask高级编程实战-3.蓝图、模型与CodeFirst

应该讲一些初始化工作,放在对应层级的包的初始化文件 __init__.py 中。比如Flask核心应用app对象初始化应该放在应用层级app包的 __init_...

2453
来自专栏zingpLiu

Python 【web框架】之Flask

flask 是Python实现的轻量级web框架。没有表单,orm等,但扩展性很好。很多Python web开发者十分喜欢。本篇介绍flask的简单使用及其扩展...

1422
来自专栏智能大石头

新生命开发团队Orm框架XCode v3.5.2009.0714源码发布(圣诞随心大礼包)

忙忙碌碌有一年!做了很多东西,到头来,似乎又什么都没有做。人继续变老,程序继续改进。     这段时间从我们各个系统抽取了基础的常用的部分,整理后形成了一个...

2107
来自专栏行者常至

Hibernate 的延迟加载(懒加载)简介1

1192
来自专栏Golang语言社区

【Go 语言社区】JS 相关---Window Location

window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。 Window Location window.locati...

3167
来自专栏白驹过隙

Redis - string类型操作

3306

扫码关注云+社区

领取腾讯云代金券