C/C++-标准输入/输出重定向为文件输入/输出

/*
    Time: 2017-02-22 11:11:15
    Describe: C++程序将标准输入/输出重定向为文件输入/输出。
*/

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

void f()
{
    string line;
    while(getline(cin, line))  //input from the file in.txt
    {
        cout << line <<endl;   //output to the file out.txt
    }
}

// TEST ONE.
int main()
{
    ifstream in("in.txt");
    streambuf *backinbuf = cin.rdbuf(); //save old buf
    cin.rdbuf(in.rdbuf()); //redirect std::cin to in.txt!

    ofstream out("out.txt");
    streambuf *backoutbuf = cout.rdbuf(); //save old buf
    cout.rdbuf(out.rdbuf()); //redirect std::cout to out.txt!

    // ONE.
    f(); //call function
}

// TEST TWO.
/*
int main()
{
    ifstream in("in.txt");
    streambuf *backinbuf = cin.rdbuf(); //save old buf
    cin.rdbuf(in.rdbuf()); //redirect std::cin to in.txt!

    ofstream out("out.txt");
    streambuf *backoutbuf = cout.rdbuf(); //save old buf
    cout.rdbuf(out.rdbuf()); //redirect std::cout to out.txt!

    // TWO.
    string word;
    cin >> word;           //input from the file in.txt
    cout << word << "--";  //output to the file out.txt
}
*/

// TEST THREE.
/*
int main()
{
    ifstream in("in.txt");
    streambuf * backinbuf = cin.rdbuf(); //save old buf
    cin.rdbuf(in.rdbuf()); //redirect std::cin to in.txt!

    ofstream out("out.txt");
    streambuf * backoutbuf = cout.rdbuf(); //save old buf
    cout.rdbuf(out.rdbuf()); //redirect std::cout to out.txt!

    // DO SOMETHING...... (redirect.)

    // RESET.
    cin.rdbuf(backinbuf);   //reset to standard input again
    cout.rdbuf(backoutbuf); //reset to standard output again

    // THREE.
    cin >> word;   //input from the standard input
    cout << word;  //output to the standard input
}
*/

  

时间: 2024-10-08 19:19:26

C/C++-标准输入/输出重定向为文件输入/输出的相关文章

[转]C语言文件输入/输出ACM改进版(freopen函数)

C语言文件输入/输出ACM改进版(freopen函数) 2009年5月27日 10:379,457 浏览数发表评论阅读评论 文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作. 昨天发了一篇<C语言 使用文件输入/输出数据>,使用的是最普通的文件输入/输出方法,Felix大牛随后给了一种更简单的改进方法,在ACM中应用很广,而且超赞,现在来介绍一下. 这次用到的文件打开函数不再是fopen,而是stdio.h中包含的另一个函数fr

python基础(文件输入/输出 内建类型 字典操作使用方法)

本文主要介绍了python基础入门,包括文件输入/输出.内建类型.字典操作等使用方法 一.变量和表达式 代码如下: >>> 1 + 1 2>>> print 'hello world' hello world>>> x = 1               >>> y = 2>>> x + y3 Python是强类型语言,无法根据上下文自动解析转换成合适的类型. Python是一种动态语言,在程序运行过程中,同一个变量

Make 输出重定向到文件

系统的输入与输出: 方式 描述符 含义 stdin 0 标准输入 stdout 1 标准输出 stderr 2 标准错误输出 把 make 输出的全部信息重定向到某个文件中: make <xxx> > build_output 把错误信息都输出到一个文件中: make <xxx> > build_output_all 2>&1 其中的 2>&1 表示错误信息输出到 &1 中,&1 指的是前面的那个文件 build_output

【C语言学习】《C Primer Plus》第13章 文件输入/输出

学习总结 1.文件函数原型1: FILE* fopen(char *filename, char *openmode);  //打开文件,返回文件指针 filename:文件名,更确切地说,是包含文件名的字符串地址: openmode:打开模式(r,w,a,r+,w+,a+,……) 打开失败返回NULL int getc(FILE *fp);  //读文件,返回字符 fp:读取文件指针 int putc(int ch, FILE *fp);  //写文件,返回写入字符的ASCII值 ch:字符

文件输入/输出

fopen:打开文件.第一个参数文件名的字符串地址.打开模式:r:读 w:写,会改 没有就创建 a:追加 ,没有就创建 r+:读取和写入 w+:同上但会改 没有就创建a+:同上,但是追加 rb,wb,ab,ab+,a+b,wb+,w+b,ab+,a+b,使用二进制模式而不是文本模式打开,其他类似 getc():到达文件结尾时,会返回EOF putc() 与getchar().putchar类似但适用于文件 putc(ch,文件指针) fclose 关闭由指针fp指定的文件#include<std

C Primer Plus之文件输入/输出

文件 一个文件通常就是磁盘上的一段命名的存储区.但对于操作系统来说,文件就会更复杂一些.例如,一个大文件可以存储在一些分散的区段中,或者还会包含一些使操作系统可以确定其文件类型的附加数据. C将文件看成是连续的字节序列,其中每一个字节都可以单独地读取.ANSI C提供了文件的两种视图:文本视图和二进制视图. 1° 文本视图和二进制视图 ANSI要求提供的两种文件视图是文本视图和二进制视图.在二进制视图中,文件中的每个字节都可以为程序所访问.在文本视图中,程序看到的内容和文件的内容有可能不同.举例

print支持输出重定向到文件

将1-100循环输出,并生成一个名为num.txt的文件 num = open('num.txt','a') for i in range(1,101):     print >> num , i num.close()

第 13 章 文件输入/输出 (标准I/O)

1 /*-------------------------- 2 count.c -- 使用标准 I/O 3 --------------------------*/ 4 5 #include <stdio.h> 6 #include <stdlib.h> //提供 exit() 函数原型 7 8 int main(int argc, char *argv[]) 9 { 10 int ch; //读取文件时,储存每个字符的地方 11 FILE *fp; //文件指针 12 unsi

DOS下,将命令输出重定向到文件中

D:\Oracle_weblogic\Middleware\wlserver_10.3\server\lib>java -cp weblogic.jar weblogic.Admin -url t3://172.20.32.33:7002 -username weblogic -password weblogic1234 get -p untime > f:/dos.txt