哆啦A梦.txt
哆啦A梦 -89 使用四次元口袋,帮大雄解决问题(育儿机器人)爱吃铜锣烧 小叮当,小哆啦 日配:(富田耕生,野泽雅子,大山羡代,水田山葵),国语(陈美贞,林保全.郭立文,董浩,刘纯燕,李晔,梁颖,黄昕瑜)
野比大雄 10 擅长翻花绳,射击,乐于助人 大雄 日配:(太田淑子,小原乃梨子,大原惠),国语(杨凯凯.刘如苹,刘凯宁,陆惠玲,姚培华)
源静香 10 弹小提琴,烤地瓜,下厨 静香 日配:(惠比寿真沙子野村道子,佐久间玲),国语(许淑嫔,梁少霞)
刚田武 10 最爱唱歌 胖虎 日配:(肝付兼太,立壁和也,木村昴),国语(冯志润,郭志权,陈卓智,黄启昌,于正昇,于正昌,宋克军,梁兴昌)
骨川小夫 10 自大,骄傲,爱炫耀,很有艺术才能 小夫 日配:(肝付兼太,关智、八代骏 ),国语(刘杰,李正翔)
定义从Doraemon数据文件中读取的数据
//存储从Doraemon数据文件中读取的数据
struct DoraemonFileData {
//DoraemonCharacter结构体的vector容器,存储从文件中读取的角色数据
vector<DoraemonCharacter> RolePool;
//选择变量
int Select;
//判断文件是否为空,true为空,false为非空
bool isEmptyFile;
};
从哆啦A梦.txt文件中加载数据到DoraemonCharacter结构体的vector容器中
//从哆啦A梦.txt文件中加载数据到DoraemonCharacter结构体的vector容器中
//RolePool:待填充的DoraemonCharacter对象容器
//isEmptyFIle:输出参数,表示文件是否为空
void SyncFileDataToProgram(vector<DoraemonCharacter>& RolePool, bool& isEmptyFIle) {
//创建文件输入流对象,打开指定的文本文件
ifstream stream("哆啦A梦.txt", ios::in);
//判断文件打开是否成功
if (stream.is_open()) {
//用于暂存每行读取的数据
DoraemonCharacter value;
//检测文件是否到末尾
char ch = stream.peek();
//如果已到结尾,设置标记表示空文件
isEmptyFIle = (ch == EOF);
//文件不为空,进行读取解析
if (!isEmptyFIle) {
//放回之前读取的字符
stream.putback(ch);
//将文件游标置为开头
auto pos = stream.tellg();
pos = 0;
stream.seekg(pos);
//同步流状态
stream.sync();
//循环读取每行数据,解析到DoraemonCharacter对象
for(; stream >> value.name >> ws
>> value.age >> ws
>> value.Peculi >> ws
>> value.SimpleCall >> ws
>> value.dub; ) {
//对象读取成功,加入容器
RolePool.emplace_back(forward<decltype(value)>(value));
}
}
//关闭文件流
stream.close();
}
}