初见 | 文件操作 | 重定向式
更改
2021.2.6
更改了文末统计字数的样式
本文目前仅有重定向式
1 什么是重定向
个人理解,就是把数据的输入输出源更改(重新定向)
比如默认输入为键盘,输出为屏幕,在我们对文件进行操作的时候,就可以把输入和输出分别定向到要操作的文件
也就是说把我们打字输入换为读取文件内容,把屏幕显示结果换为输出到一个文件中
2 命令格式
FILE * freopen(const char * filename,costa char * mode,FILE *stream);
看起来很难懂的样子,于是需要一些参数说明:
filename | mode | stream |
---|---|---|
要打开的文件名 | 文件打开的模式:w(读)和r(写) | 文件指针,通常使用标准流文件* |
标准流文件*:这里只需要stdin和stdout( |
||
stdin | stdout | stderr |
---- | ---- | ---- |
标准输入流(默认键盘) | 标准输出流(默认屏幕) | 标准错误流(一般默认屏幕) |
那么这里最重要的freopen就可以修改标准流文件的默认值,做到重定向 | ||
3 模板
大意为读取in.txt的所有数据并将它们的和输出到out.txt
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
int temp,sum=0;
while(scanf("%d",&temp)==1)
sum+=temp;
printf("%d\n",sum);
fclose(stdin);
fclose(stdout);
return 0;
}
但是,只有代码是不够的,如果没有文件,相当于啥都没干
不信可以试试(话说会有人不信吗)
于是乎我们需要这些东西:
这个时候再运行一下,就OK了。
4 啊那这有什么用呢
比赛不像OJ,你不加这个它给0分(来自惨痛经历)
5 总结
本次学习的新知识点
- 如何实现文件操作(
比赛不挂0)
本次学习的感悟
- 我为什么不早一点学这个( O x O )
本次学习欠缺
- 还没练题,也没题练
End
2021.1.29
539词
1491字符
Do you like WHAT YOU SEE ?