初见 | 文件操作 | 重定向式

更改
2021.2.6
更改了文末统计字数的样式
本文目前仅有重定向式

1 什么是重定向

个人理解,就是把数据的输入输出源更改(重新定向)
比如默认输入为键盘,输出为屏幕,在我们对文件进行操作的时候,就可以把输入和输出分别定向到要操作的文件
也就是说把我们打字输入换为读取文件内容,把屏幕显示结果换为输出到一个文件中

2 命令格式

FILE * freopen(const char * filename,costa char * mode,FILE *stream);

看起来很难懂的样子,于是需要一些参数说明:

filename mode stream
要打开的文件名 文件打开的模式:w(读)和r(写) 文件指针,通常使用标准流文件*
标准流文件*:这里只需要stdinstdout作为蒟蒻其他的也用不到啊
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字符

posted @ 2021-01-29 17:22  HerikoDeltana  阅读(94)  评论(0编辑  收藏  举报