基础操作介绍
inFile需要导入一个叫做fstream的库
inFile是输入,但是和cin(输入数据流)不一样,inFile是在写好的文件中进行读取的。
格式为:文件名.in
inFile的基础代码为:
#include <fstream>
#include <iostream>
using namespace std;
string in;
int main () {
ifstream inFile("文件名.in"); //操作文件"文件名.in"并打包到inFile变量里
//可插入代码
//单个读取(读取指针后边的文字,但空格会中断读取)
inFile >> in;
//整行读取(无视空格,并且换行)
getline(inFile,in);
inFile.close(); //退出inFile变量操作的"文件名.in"
return 0;
}
读取的只能是字符串(如需读取小数可参考博主的文章C++字符串和小数类型的转换-CSDN博客)
inFile >> in
inFile >> in 是把指针后面内容进行读取(空格会中断读取)
例子
一.
#include <fstream>
#include <iostream>
using namespace std;
string in;
int main () {
ifstream inFile("文件名.in");
//(指针)1 2 3 4
inFile >> in; //in == "1"
//1 (指针)2 3 4
inFile >> in; //in == "2"
return 0;
}
二.
#include <fstream>
#include <iostream>
using namespace std;
string in;
int main () {
ifstream inFile("文件名.in");
//(指针)Hello world
inFile >> in; //in == "Hello"
//Hello (指针)world
inFile >> in; //in == "world"
return 0;
}
getline(inFile,in)
getline(inFile,in) 是读取整行内容(指针前不读取)
例子
1 (指针)2 3 4
getline(inFile,in) in == "2 3 4"
getline中断如何处理
getline中断会发生在1 2 3 4(指针)这种情况,执行getline会把指针挪到下一行,但没有数据,再执行一次getline就可以完成读取。
总结
inFile读取可以把文件里的数据读取出来,在创作游戏的时候,可以用于存储分数,如果用变量就会把分数重置。
本文章讲了两个读取数据的方法:
inFile >> in和getline。
博主很快就会更新outFile的写入方法,在游戏里,可以用于写入分数。
再见!