怎么屏蔽控制台的输出

如何屏蔽控制台的输出?
我在写个控制台程序,程序使用了别人的库函数,收到网络服务器的数据就会显示,我想屏蔽些输出,自己处理一下这些数据再在控制台窗口显示,该怎么办?或者有没有办法新打开一个控制台窗口,在新窗口中显示我处理过的数据也行。

------解决方案--------------------
可以这样:
1、第一个控制台程序收到网络服务器的数据就会直接显示;
2、第二个GUI程序运行第一个程序,然后通过管道获取输出信息,最后处理过后再丢给GUI进行显示。
------解决方案--------------------
实现一个过滤程序。
控制台程序的输入重定向到过滤的输出;过滤程序的输入重定向到控制台程序的输出。

------解决方案--------------------
Google 输出重定向
------解决方案--------------------
引用:
我在写个控制台程序,程序使用了别人的库函数,收到网络服务器的数据就会显示,我想屏蔽些输出,自己处理一下这些数据再在控制台窗口显示,该怎么办?或者有没有办法新打开一个控制台窗口,在新窗口中显示我处理过的数据也行。



std::fstream outFile( "output.txt" );
std::streambuf* oldBuf = std::cout.rdbuf( outFile.rdbuf() );
..............  //调用别人的库函数
..............  //对outFile的内容进行分析
std::cout.rdbuf( oldBuf );
..............  //输出处理过的内容


------解决方案--------------------
引用:

std::fstream outFile( "output.txt" );
std::streambuf* oldBuf = std::cout.rdbuf( outFile.rdbuf() );
..............  //调用别人的库函数
..............  //对outFile的内容进行分析
std::cout.rdbuf( oldBuf );
..............  //输出处理过的内容

我虽然知道C的重定向,没想到C++的是这样子的,
向supermegaboy学习了!!!!


#include <cstdio>
#include <fstream>
#include <iostream>

/* 测试,每一行的字符倒序处理下 */
void handle_stream(const char * from, const char * to)
{
    std::ifstream fin(from);
    std::ofstream fout(to, std::ios::app);
    const int bufsiz = 512;
    char buffer[bufsiz];
    while (!fin.eof())
    {
        fin.getline(buffer, bufsiz);

        int count = fin.gcount();