文件操作
如果在程序当中,我们想让程序从文件当中获得输入,或者想把计算出来的结果输出到文件当中,我们就需要对计算机的文件进行操作
文件操作的基本流程:
1.打开该文件
2.对文件进行读或写的操作
3.使用完毕关闭文件
C++重定向版本
使用freopen函数打开文件,需要包含头文件 "cstdio"
freopen的定义如下:
freopen(filename,mode,stream);
- filename:即将操作的文件名
- mode:打开文件的方式,读模式(r),写模式(w)
- stream:文件指针,通常使用标准流文件。stdin(标准输入)、stdout(标准输出)
在程序当中一般都有输入和输出,可以使用cin和cout来输入输出文件
以只读(r)的方式打开test.in输入文件
以只读写(w)的方式打开test.out输出文件
freopen("test.in","r",stdin);
freopen("test.out","w",stdout);
在使用完毕后需要关闭文件
fclose(stdin);
fclose(stdout);
文件操作模板
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
freopen("test.in","r",stdin);
freopen("test.out","w",stdout);
//请添加需要操作的代码
fclose(stdin);
fclose(stdout);
return 0;
}
使用实例
从文件test.in中读取一个不超过50的整数,计算从1到这个数字的累加和,并将结果放到test.out中
问题分析
1.从文件当中读取不超过50的整数
2.计算累加和
3.输出结果
示例代码
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
freopen("test.in","r",stdin);
freopen("test.out","w",stdout);
int n; //保存读入的正整数
int s; //保存累加和的结果
//读入正整数
cin >> n;
//计算累加和
for (int i = 1 ;i <= n ;i++){
s += i;
}
//输出结果
cout << s;
fclose(stdin);
fclose(stdout);
return 0;
}
输入文件需要自己创建
输出文件系统会自动创建
C++文件输入输出流
C++文件输入流的使用格式,需要包含头文件 fstream
ifstream cin(filename);
C++文件输出流的使用格式
ofstream cout(filename);
从test.in文件中提取数据,输出到test.out文件中
ifstream cin("test.in");
ofstream cout("test.out");
关闭文件
cin.close();
cout .close();
程序模板
#include <iostream>
#include <fstream>
using namespace std;
int main(){
//设置输入输出文件
ifstream cin("test.in");
ofstream cout ("test.out");
//添加需要处理的代码,可以使用cin和cout进行输出
//关闭文件
cin.close();
cout.close();
}
使用实例
从文件in.txt中获取一行包括空格的字符串,统计字符串中空格的数量,并输出到out.txt中
问题分析
1.设置输入输出流
2.从输入流中读取内容
3.对字符进行遍历统计
4.将内容从输出流中输出
程序实例
#include <iostream>
#include <fstream>
using namespace std;
int main(){
//设置输入输出文件
ifstream cin("test.in");
ofstream cout ("test.out");
char a[100]; //用于保存输入数据
int s = 0; //用于计数
//获得字符的输入
cin >> a;
//进行遍历统计
for (int i = 0;a[i]!= '\0';i++){
s += 1;
}
//输出结果
cout << s;
//关闭文件
cin.close();
cout.close();
}
Level2_7_文件操作
By yang he
Level2_7_文件操作
- 205