cin/printf 重定向

cin/printf 重定向

OJ 重定向模板

IO重定向

重定向后如何恢复到 控制台IO ?
答:需在重定向前做好备份。

fstream inFile,outFile;
streambuf   *stdcin,*stdcout;
stdcin=cin.rdbuf();
stdcout=cout.rdbuf();  //提前备份
inFile.open("d:\\contract_in.txt",ios::in);
outFile.open("d:\\contract_out.txt",ios::out|ios::trunc);//文件流关联到文件
cin.rdbuf(inFile.rdbuf());
cout.rdbuf(outFile.rdbuf());//重定向
inFile.close();
outFile.close();//文件关闭
cin.rdbuf(stdcin);
cout.rdbuf(stdcout);//恢复到标准输出
时间: 2024-09-16 10:30:30

cin/printf 重定向的相关文章

sort 效率 windows 为什么指定输出文件比将标准输出重定向文件到同一文件快

问题描述 sort 效率 windows 为什么指定输出文件比将标准输出重定向文件到同一文件快 sort 效率 windows 解决方案 标准重定向是逐个字符送入缓冲区,再写入文本,内置的方式是直接写文件.前者有打开关闭文件的开销. 解决方案二: (41)重定向到文件输出printf重定向输出到文件在C和C++中把标准输出重定向到指定文件 解决方案三: 成定向是先到输出管道再写文件,等于多转了一下 解决方案四: 因为多了道手续,不过快的也有限

stm32开发之串口的调试

总的函数如下 void USART1Configuration(void){    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO | RCC_APB2Periph_USART1,ENABLE);    USART1_GPIO_Configuration();    USART1_Param_Configuration();    NVIC_Configuration();  /*串口使用中断方式才用到*/   

[Linux]Linux printf 输出重定向【转】

转自:http://www.cnblogs.com/aaronLinux/p/6765145.html?utm_source=itdadao&utm_medium=referral 方法一 #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <sys/stat.h> #include <fcntl.h> int main() { fflush(stdout

cin详解(get()、getline()、clear()、sync())

简述 在C中,输入输出用scanf和printf,在输入数据的同时还需说明数据的类型,如果输入数据较多,那就很麻烦,而C++中也有相似的东西cin和cout,它们来自C++的一个名叫" iostream"的类库. iostream是由istream(输入流)和ostream(输出流)派生.所以在iostream中就有了输入和输出的相关对象: cin:标准输入(standard input)的istream类对象,cin使我们可以从设备读取数据. cout:标准输出(standard o

重定向 freopen

注意用重定向读写非常简便,就是注意一下交题之前注释掉重定向语句(任以2013题为例) #include <stdio.h> int main() { freopen("test.txt","r",stdin); freopen("result.txt","w",stdout); int n; int i; char string[20][30]; int count=0; while(scanf("%d&

c++里如何重定向一个字符串 使string变成int型 请大神指导啊

问题描述 c++里如何重定向一个字符串 使string变成int型 请大神指导啊 c++里如何重定向一个字符串 使string变成int型 请大神指导啊 解决方案 用atoi就 可以了 比如: string s="534"; int f=atoi(s.c_str()); cout<<f; //printf("f=%d",f); 解决方案二: include 使用atoi就行 解决方案三: 包含一下stdlib.h 解决方案四: vs2008以上好像昂要用

c++-ifstream在子函数中无法重定向

问题描述 ifstream在子函数中无法重定向 正如上图中显示的那样,如果我在main函数中直接cin>>n,可以读取到,但是如果在readNum()中用cin>>n则只能得到默认值,请问这是为什么?怎么解决? 解决方案 楼主应该要将while(readNum())改成while(n=readNum()) 不然main函数里的n怎么能接收的到readNum函数里的值 解决方案二: 1.把ifstream写为全局变量,得换个名字 2.把cin传给子函数,类型是ifstream&

hdu1003 主要是java中的printf和print

问题描述 hdu1003 主要是java中的printf和print package hdu; import java.math.BigInteger; import java.util.Scanner; public class hdu1003 { public static void main(String[] args){ Scanner cin=new Scanner(System.in); int n=cin.nextInt(); for(int i=1;i<=n;i++){ BigI

http协议-http用GET方法获取重定向网址源码

问题描述 http用GET方法获取重定向网址源码 类似天猫商品的网址以GET方法获取的是301. (1)断开程序,截取其中的Location继续GET仍然是301,多次运行,多次截取上一次返回的Location最终会返回200 OK (2)若采用自动截取,循环方法GET无法得到200 OK. 采用截取上次返回的location获取重定向后的网址思路对吗?为什么采用循环GET无法得到200OK?源码附上,谢谢指点. #include<string.h> #include<sys/types