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 | 难度 |
|---|---|---|---|
| 10 【入门】三角形类别 | 303 | 70 | 7 |
| 11 【入门】求阶乘和 | 363 | 96 | 7 |
| 18 【入门】兑换硬币 | 92 | 32 | 5 |
| 44 【入门】汉译英 | 148 | 47 | 6 |
| 49 【入门】字符图形9-数字正三角 | 42 | 20 | 4 |
| 50 【入门】数组逆序 | 62 | 38 | 2 |
| 51 【入门】词组缩写 | 67 | 29 | 4 |
| 54 【入门】求表达式和Ⅲ | 100 | 27 | 6 |
| 62 【入门】判断质数 | 163 | 37 | 7 |
| 101 【入门】时间差 | 31 | 15 | 5 |
| 110 【入门】求表达式和Ⅳ | 62 | 21 | 6 |
| 115 【入门】数字和 | 68 | 20 | 6 |
章节 2. 中级进阶
开放
| 题目 | 尝试 | AC | 难度 |
|---|---|---|---|
| 183 【基础】去重排序 | 133 | 27 | 7 |
| 253 【入门】寻找肇事司机 | 12 | 7 | 9 |
| 385 [NOIP2005 普及组] 陶陶摘苹果 | 129 | 59 | 4 |
| 1093 【基础】七位完全平方数 | 27 | 5 | 8 |
| 1099 【基础】阅读大赛 | 4 | 3 | 10 |
章节 3. 高级进阶
开放
| 题目 | 尝试 | AC | 难度 |
|---|---|---|---|
| 1989 【深基5.习10】汉字压缩技术(编码) | 22 | 3 | 9 |
| 1876 [CSP-J 2021] 分糖果 | 101 | 18 | 8 |
| 1877 [CSP-J 2021] 插入排序 | 39 | 4 | 9 |
| 1878 [CSP-J 2021] 网络连接 | 24 | 1 | 10 |
| 1879 [CSP-J 2021] 小熊的果篮 | 28 | 9 | 7 |
| 1887 「CSP-S 2020」贪吃蛇 | 7 | 2 | 10 |