matlab warning 重定向,标准输入输出重定向

1. C:

#include

#include

void test_stdin()

{

char buf[128];

freopen("1.txt", "r", stdin); //redirect stdin

scanf("%s",buf);

printf("%s

",buf);

freopen("CON", "r", stdin); //recover(Windows)

//freopen("/dev/console", "r", stdin); //recover(Linux)

//freopen("/dev/pts/0", "r", stdin); //recover stdin(Linux : my putty client)

scanf("%s",buf);

printf("%s

",buf);

}

void test_stdout()

{

freopen("1.txt", "w", stdout); //redirect stdout

printf("test");

freopen("CON", "w", stdout); //recover stdout(Windows)

//freopen("/dev/console", "w", stdout); //recover stdout(Linux)

//freopen("/dev/pts/0", "w", stdout); //recover stdout(Linux : my putty client)

printf("OK

");

}

int main()

{

printf("Test stdout :

");

test_stdout();

printf("Test stdin :

");

test_stdin();

return 0;

}

2.Python:

#! /usr/bin/python

import sys

'''

File : redirect.py

Author : Mike

E-Mail : Mike_Zhang@live.com

'''

print "Test stdout : "

#redirect stdout

tmp = sys.stdout

fp = open("1.txt","w")

sys.stdout = fp

print 'Just a test'

sys.stdout = tmp #recover stdout

print 'test2'

fp.close()

print "Test stdin : "

#redirect stdin

tmp = sys.stdin

fp = open("1.txt","r")

sys.stdin = fp

strTest = raw_input()

print strTest

sys.stdin = tmp # recover stdin

strTest = raw_input()

print strTest

fp.close()

3. C++:

#include

#include

void main()

{

std::ofstream logFile("c://out.txt");

std::streambuf *outbuf = std::cout.rdbuf(logFile.rdbuf());

std::streambuf *errbuf = std::cerr.rdbuf(logFile.rdbuf());

// do the actual work of the program;

// GUI code and event loop would go here

std::cout << "This would normally go to cout but goes to the log file/n";

std::cerr << "This would normally go to cerr but goes to the log file /n";

logFile << "This goes to the log file/n";

// end of program body

// restore the buffers

std::cout.rdbuf(outbuf);

std::cerr.rdbuf(errbuf);

// It will output in your console

std::cout << "This would normally go to cout but goes to the log file/n";

std::cerr << "This would normally go to cerr but goes to the log file /n";

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值