C++文件重定向练习
登录以参加训练计划
前言 使用c++一段时间后,程序输入数据想从某文件中读入数据(如:data.in),而不是在小黑窗里从键盘输入;程序数据输出想直接输出到某个文件(如:data.out),而不是输出到小黑窗里,需要实现这样的功能就需要用到文件重定向。
C++中文件重定向有多种,这里介绍常用的也是最简单的一种方式,使用使用freopen()函数,这种方式是C语言版本,需要头文件#include<stdio.h>支持。
一、函数声明:
FILE *freopen( const char *filename, const char *mode, FILE *stream );
二、freopen()函数使用 这里以A+B为例,程序从文件data.in读入,程序的数据输出到文件data.out
#include<stdio.h>
int main(){
freopen("data.in","r",stdin); //关联输入文件
freopen("data.out","w",stdout); //关联输出文件
int a,b;
scanf("%d %d",&a,&b);
printf("%d\n",a+b);
fclose(stdin);//关闭文件
fclose(stdout);//关闭文件
}
注意: 1、实际使用过程中,cin,cout也可以用freopen重定向;#include 也可以用freopen函数 2、如果用freopen多次重定向 cin,最好在前面加cin.clear(),清空缓存,否则读入数据有错误 3、关联的输入文件需要手动创建(如:data.in),关联的输出文件程序会自动创建(如:data.out)
章节 1. 初级进阶
开放
题目 | 尝试 | AC | 难度 |
---|---|---|---|
P10 【入门】三角形类别 | 237 | 55 | 7 |
P11 【入门】求阶乘和 | 144 | 47 | 6 |
P18 【入门】兑换硬币 | 88 | 30 | 6 |
P44 【入门】汉译英 | 137 | 42 | 6 |
P49 【入门】字符图形9-数字正三角 | 42 | 20 | 4 |
P50 【入门】数组逆序 | 56 | 35 | 2 |
P51 【入门】词组缩写 | 48 | 17 | 6 |
P54 【入门】求表达式和Ⅲ | 93 | 22 | 7 |
P62 【入门】判断质数 | 131 | 38 | 6 |
P101 【入门】时间差 | 31 | 15 | 5 |
P110 【入门】求表达式和Ⅳ | 50 | 16 | 6 |
P115 【入门】数字和 | 62 | 18 | 6 |
章节 2. 中级进阶
开放
题目 | 尝试 | AC | 难度 |
---|---|---|---|
P183 【基础】去重排序 | 38 | 13 | 6 |
P253 【入门】寻找肇事司机 | 11 | 6 | 9 |
P385 [NOIP2005 普及组] 陶陶摘苹果 | 92 | 45 | 4 |
P1093 【基础】七位完全平方数 | 23 | 5 | 8 |
P1099 【基础】阅读大赛 | 4 | 3 | 10 |
章节 3. 高级进阶
开放
题目 | 尝试 | AC | 难度 |
---|---|---|---|
P1989 【深基5.习10】汉字压缩技术(编码) | 16 | 1 | 10 |
P1876 [CSP-J 2021] 分糖果 | 101 | 18 | 8 |
P1877 [CSP-J 2021] 插入排序 | 39 | 4 | 9 |
P1878 [CSP-J 2021] 网络连接 | 24 | 1 | 10 |
P1879 [CSP-J 2021] 小熊的果篮 | 21 | 3 | 9 |
P1887 「CSP-S 2020」贪吃蛇 | 7 | 2 | 10 |