PAT文件的输入输出
PAT即是浙大OJ(OnlineJudge),网址是http://www.patest.cn/contests/pat-a-practise(因为分为普通级别,Advanced级别和top级别),链接中是Advanced级别的题目集,也是大家平常刷题用的最多的题集。
截图如下,其中,如果你A过(通过)的题目会标成红色的Y
右边是通过、提交和通过率。
- #include<stdio.h>
- using namespace std;
是会报错的,出现
- #include<iostream>
- using namespace std;
才不会报错。
- #include<stdio.h>
- #include<math.h>
要和fabs()搭配使用,不然会编译错误。
- #include<stdio.h>
- #include<string.h>
是要这样使用的,如果是#include<string>就会编译错误
- #include<iostream>
- #include<string>
这两个没关系。
getchar();//等待获取一个字符,此时程序会暂停等待
system("pause");
(5)再提一点VC的不同,long long在VC中的表示不同,是需要
- __int64 a,b;//这里是两个下划线
- scanf(“%I64d%I64”,&a,&b);
- printf(“%I64”,a);
很麻烦有木有。
(6)自己编写程序要测试数据,我以前傻傻的都是自己一个个输的,你能相信我一条一条记录都自己输进去的吗,到了很久之后才知道从文件中输入也是可以的。
- freopen(“F://Temp/input.txt”,“r”,stdin);//输入重定向,从指定文件中读取,当然了,你要在相应的目录下新建txt并且写入测试数据的输入,保存。如果是在和debug下的目录则可以不用绝对路径。
- freopen(“F://Temp/input.txt”,“w”,stdout);//输出重定向
这里注意一下的是记得要把windows下的“\”地址符号改为“//”和“/”的。
函数名:freopen
声明: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是标准错误流,一般把屏幕设为默认。
下面以VC下调试“计算a+b”的程序举例:
- //C语法:
- #include <stdio.h>
- int main()
- {
- int a,b;
- freopen(“debug\\in.txt”,“r”,stdin); //输入重定向,输入数据将从in.txt文件中读取
- freopen(“debug\\out.txt”,“w”,stdout); //输出重定向,输出数据将保存在out.txt文件中
- while(scanf(“%d %d”,&a,&b)!=EOF)
- printf(“%d\n”,a+b);
- fclose(stdin);//关闭文件
- fclose(stdout);//关闭文件
- return 0;
- }
- //C++语法
- #include <stdio.h>
- #include <iostream.h>
- int main()
- {
- int a,b;
- freopen(“debug\\in.txt”,“r”,stdin); //输入重定向,输入数据将从in.txt文件中读取
- freopen(“debug\\out.txt”,“w”,stdout); //输出重定向,输出数据将保存在out.txt文件中
- while(cin>>a>>b)
- cout<<a+b<<endl; // 注意使用endl
- fclose(stdin);//关闭文件
- fclose(stdout);//关闭文件
- return 0;
- }
freopen(“debug\\in.txt”,”r”,stdin)的作用就是把标准输入流stdin重定向到debug\\in.txt文件中,这样在用scanf或是用cin输入时便不会从标准输入流读取数据,而是从in.txt文件中获取输入。只要把输入数据事先粘贴到in.txt,调试时就方便多了。
类似的,freopen(“debug\\out.txt”,”w”,stdout)的作用就是把stdout重定向到debug\\out.txt文件中,这样输出结果需要打开out.txt文件查看。
需要说明的是:
1. 在freopen(“debug\\in.txt”,”r”,stdin)中,将输入文件in.txt放在文件夹debug中,文件夹debug是在VC中建立工程文件时自动生成的调试文件夹。如果改成freopen(“in.txt”,”r”,stdin),则in.txt文件将放在所建立的工程文件夹下。in.txt文件也可以放在其他的文件夹下,所在路径写正确即可。
2. 可以不使用输出重定向,仍然在控制台查看输出。
3. 程序调试成功后,提交到oj时不要忘记把与重定向有关的语句删除。
- #include<iostream>
- #include<fstream>
- using namespace std;
- int main(void){
- fstream fin(”F://Temp/input.txt”,ios::in);//把输入重定向
- int a,b;
- fin >> a >> b; //注意这里是要用fin,因为是把文件的内容读入了fin所指的空间中
- cout << a <<” “<< b <<endl;
- return 0;
- }</span>
- <span style="font-family:Microsoft YaHei;">
- #include<iostream>
- #include<fstream>
- using namespace std;
- int main(void){
- fstream fin("F://Temp/input.txt",ios::in);
- fstream fout("F://Temp/output.txt",ios::out);
- //或者ofstream fout ...
- int a,b;
- fin >> a >> b;
- fout << a <<" "<< b <<endl; //把输入和输出都重定向了,这时屏幕上不会有输出,而是在相应的文件中写上了数据。
- return 0;
- }
小技巧,可以在上面的基础上加入
- ifstream fin("in.txt");
- #define cin fin
这样就可以用cin而不用更改文件的cin输入符了。
</div></div>
PAT文件的输入输出相关推荐
- Python核心编程读笔 8: 文件和输入输出
第九章 文件和输入输出 一.文件内建函数.方法.属性 1 文件内建函数 file_object = open(file_name, access_mode='r', buffering=-1) 工厂函 ...
- 输入文件c语言程序,C语言程序设计 对文件的输入输出.ppt
C语言程序设计 对文件的输入输出 * * * * * * * * * * * * * * * * * * while ((c=getchar( ))!=EOF) /*键盘文件结束标志:输入Ctrl+z ...
- java流与文件——文本输入输出
[0]README 0.1) 本文描述转自 core java volume 2, 旨在理解 java流与文件--文本输入输出 的相关知识: 0.2) 在保存数据时,可以选择是二进制还是文本格式: 在 ...
- [ACM训练] ACM中巧用文件的输入输出来改写acm程序的输入输出 + ACM中八大输入输出格式...
ACM中巧用文件的输入输出来改写acm程序的输入输出 经常有见大神们使用文件来代替ACM程序中的IO,尤其是当程序IO比较复杂时,可以使自己能够更专注于代码的测试,而不是怎样敲输入. C/C++代码中 ...
- C++ 标准函数库 —— 文件的输入输出 (Input/Output with files)
C++ 通过以下几个类支持文件的输入输出: ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstre ...
- python以写模式打开录入_Python的学习(六)—-文件和输入输出处理 | 学步园
Python中的文件和输入输出处理 1. 文件对象的概念 文件对象不仅可以用来访问普通的磁盘文件,还可以访问任何其他类型抽象层面上的文件. 例如实时地"打开一个URL"来读取Web ...
- C中文件的输入输出与C++的文件流
C中文件输入输出 文件的缓冲区: 每一个被使用的文件都在内存中用一个FILE结构体来存储相应的文件信息(如文件的名字.文件的状态.文件当前位置等).FILE的定义在stdio.h中 typedef s ...
- c语言record的作用,C语言基础 record 2-指针,结构体,链表,文件的输入输出
指针: 1.指针的概念: 内存区的每一个字节有一个编号,这就是 '地址',由于通过地址能找到所需的变量单元,而地址指向该变量单元,所以将地址形象化称为 '指针'.C/C++中是可多继承的指针,而Jav ...
- c语言用字符输出李字,二级C语言历年真题汇总__第10篇对文件的输入输出-李赛红.doc...
第10章 对文件的输入输出 (2012年9月真题)(40)有以下程序 #include main() {?FILE *fp;int i,a[6]={1,2,3,4,5,6}; ???fp=fopen( ...
最新文章
- gitlab 钩子 php,gitlab通过webhook.php自动部署标签
- nginx 同一个IP上配置多个HTTPS主机
- 取值方法_我国细骨料试验方法标准分析及修订建议
- SAP S/4HANA是如何通过SADL框架加CDS view读取销售订单数据的
- 曲线 线性回归_GRAPHPAD作图技巧(二)--拟合曲线
- 机器学习基础:K近邻算法(Machine Learning Fundamentals: KNN)
- mongodb分片技术
- java查看已导入的证书_jdk导入证书
- php包含大马执行,对于某个PHP大马的分析
- 安卓手机的APP图标尺寸规范和图标命名规范
- CIM一套完善的消息推送框架
- luogu P1338 末日的传说
- 初学Unity3D——材质球
- 级联选择器实现省市区三级联动
- Kali对网站进行DDOS攻击
- 基于Arduino、STM32进行红外遥控信号接收
- android的补间动画一共包含,Android的四种补间动画
- h5可拖动悬浮按钮_仙剑客栈H5如何双开 2021最新双开神器来袭
- 爪哇夜未眠 - 内容简介
- 最值得收藏——免费ppt模板网站