代码中的输入输出(重定向、文件流C/C++)
一.freopen的使用(C/C++)
函数原型:FILE *freopen( const char *path, const char*mode, FILE *stream );
头文件: stdio.h
参数:
path: 文件名,用于存储输入输出的自定义文件名。
mode: 文件打开的模式。和fopen中的模式(如r-只读, w-写)相同。
stream: 一个文件,通常使用标准流文件。
返回值:成功,则返回一个path所指定文件的指针;失败,返回NULL。一般不使用。
功能:实现重定向,把预定义的标准流文件定向到由path指定的文件中。标准流文件具体是指stdin、stdout和stderr。其中stdin是标准输入流,默认为键盘;stdout是标准输出流,默认为屏幕;stderr是标准错误流,一般把屏幕设为默认。
例:
freopen("data.in", "r", stdin); //重定向标准输入为data.in文件
freopen("data.out", "w", stdout); //重定向标准输出为data.out文件
- // 程序功能是统计输入的序列串中的最大值、最小值和序列串的平均值
- #define LOCAL
- #include <stdio.h>
- // #include <iostream>
- #define INF 1000000000
- // using namespace std;
- int main (void) {
- #ifdef LOCAL
- freopen ("data.in", "r", stdin);
- freopen ("data.out", "w", stdout);
- #endif
- int x, n = 0, min = INF, max = -INF, s = 0;
- while (scanf ("%d", &x) == 1) {
- // while (cin >> x) {
- s += x;
- if (x < min) min = x;
- if (x > max) max = x;
- //printf ("x = %d, min = %d, max = %d\n", x, min, max);
- ++n;
- }
- printf ("%d %d %.3f\n", min, max, (double)s/n);
- // cout << min << " " << max << " " << (double)s / n << endl;
- return 0;
- }
二.文件流使用(C)
fopen函数
函数原型:FILE * fopen(const char * path, const char * mode);
头文件: stdio.h
参数:
path: 文件名。
mode: 文件打开的模式。
返回值:成功,则返回一个path所指定文件的指针;失败,返回NULL。
- // 程序功能是统计输入的序列串中的最大值、最小值和序列串的平均值
- #include <stdio.h>
- #define INF 1000000000
- int main (void) {
- FILE *fin, *fout;
- fin = fopen ("data.in", "rb");
- fout = fopen ("data.out", "wb");
- int x, n = 0, min = INF, max = -INF, s = 0;
- while (fscanf (fin, "%d", &x) == 1) {
- s += x;
- if (x < min) min = x;
- if (x > max) max = x;
- //printf ("x = %d, min = %d, max = %d\n", x, min, max);
- ++n;
- }
- fprintf (fout, "%d %d %.3f\n", min, max, (double)s/n);
- fclose (fin);
- fclose (fout);
- return 0;
- }
三.C++中文件流的使用
- #include <iostream>
- #include <fstream>
- #define INF 1000000000
- using namespace std;
- int main (void) {
- ifstream fin("data.in");
- ofstream fout ("data.out");
- int x, n = 0, min = INF, max = -INF, s = 0;
- while (fin >> x) {
- s += x;
- if (x < min) min = x;
- if (x > max) max = x;
- //printf ("x = %d, min = %d, max = %d\n", x, min, max);
- ++n;
- }
- fout << min << " " << max << " " << (double)s/n;
- fout.close ();
- fin.close ();
- return 0;
- }
类继承图:
转载于:https://www.cnblogs.com/fire909090/p/8134348.html
代码中的输入输出(重定向、文件流C/C++)相关推荐
- c语言 文件流 输出数据类型,总结C++中输入输出流及文件流操作
当程序员在编写程序的时候,最不可分割的是对文件做的相应的操作,总结C++中输入输出流及文件流操作大家都了解吗?想要了解的朋友,就随爱站技术频道小编来看看吧. 1.流的控制 iomanip ...
- C++中rdbuf()简介及文件流的概念
2019独角兽企业重金招聘Python工程师标准>>> C++中rdbuf()简介及文件流的概念 Name:qianghaohao #include <cstring> ...
- java中的常用的文件流_Java 基础(四)| IO 流之使用文件流的正确姿势
image.png 一.什么是 IO 流? 想象一个场景:我们在电脑上编辑文件,可以保存到硬盘上,也可以拷贝到 U 盘中.那这个看似简单的过程,背后其实是数据的传输. 数据的传输,也就是数据的流动.既 ...
- JAVA设置流中当前位置_java文件流的问题!急
朋友你好,用使用 javadoc 标记可以做到.具体说明如下:: javadoc 标记是插入文档注释中的特殊标记,它们用于标识代码中的特殊引用.javadoc 标记由"@"及其后所 ...
- 如何在自己的代码中实现分享视频文件或者是图片文件到微信 QQ微博 新浪微博等!!!...
首先在文档第一句我先自嘲下 , 我是大傻逼, 弄了两天微信是视频分享,一直被说为啥跟系统的相册分享的不一样,尼玛!!! 这里来说正文,我这里不像多少太多,大家都是程序猿,具体的阔以看代码. 搞代码之前 ...
- python代码中使用pip安装文件
以安装pandas为例: from pip._internal import main# pip install pandas main(['install','pandas'])# pip inst ...
- Java输入输出之文件字符IO流之文件内容加密
目录 任务描述 相关知识 FileReader (文件字符输入流) FileReader 的构造方法 FileReader 的方法 FileWriter (文件字符输出流) FileWriter 构造 ...
- flash 嵌入html代码,flash嵌入html在html网页代码中嵌入Flash文件的解决方案(下).doc...
flash嵌入html在html网页代码中嵌入Flash文件的解决方案(下).doc flash嵌入 在 网页代码中嵌入Flash文件的解决方案(下) 在 代码中嵌入Flash文件一直都是广大web爱 ...
- 关于读入带空格的字符串与输入输出重定向
一.读入带空格的字符串 由于NOIP官方开始使用C++14编译器,C语言中用于读取带空格字符串的gets()函数已经不可以再用了.作为替代,有以下方法. cin.getline()函数. 函数格式: ...
最新文章
- 姚班三兄弟3万块创业八年,旷视终冲刺港股
- 在python中排序元组
- mysql设计与实现_mysql设计与开发
- Java与C#个人之比较
- 关于高考报志愿的一些规划建议
- c语言程序设计报告数制转换,数制转换-C语言程序设计课程设计报告.docx
- c#中高效的excel导入oracle的方法(转)
- C++中栈内存和堆内存
- 在web项目启动时,使用监听器来执行某个方法
- 关于计算机航天生物的想像作文,未来的航天员想象作文
- FastDFS搭建文件服务器
- java 开发电商平台,JAVA项目实战开发电商项目案例(一)前后端项目分离
- windows7家庭版,专业版,旗舰版,企业版版本区别
- 2021年中国传统文化锦集(中国人必须了解的)
- 图像分辨率和图像大小的计算
- rimraf : 无法加载文件 C:\Users\Admin\AppData\Roaming\npm\rimraf.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅
- 详解 Java 日期与时间
- windows下gromacs中文教程(simulate chain A of insulin (PDB ID: 1ZNI).
- Android6.0动态壁纸,M Launcher下载-M桌面-安卓6.0桌面 v1.4.3_手机乐园
- 麒麟子Javascript游戏编程零基础教程一:序言