小森动画回忆录(二)-数据同步模块(加载)-迪迦篇

总算是文件有了数据啦 噢耶!

圆大古 36 GUTS队员 人形状态奥特曼 长野博 日语:长野博,国语:金锋

问题是如何将文件的数据 加载到程序里呢 这个时候 ,我们找个带货主播来给大家介绍 欢迎 品牌方闪亮登场 你懂把文件的数据 加载到程序里不 懂! 当然懂了 这个时候的品牌方是 微软Virtual StudIo 感谢 IOS C++ 标准委员会 允许我在这里 瞎逼逼
思想是他,提供 当然它( IOS C++ 标准委员会)首先提供了实现的案例 我微软Virtual StudIo 团队就实现这些 在下呢准备了一些干货,点左下方咨询 !

点了 原来是他呀(ifstream)
一番时候后,终于写出来了…

/*vector<UltramanMainCharacter>& RolePool:UltramanMainCharacter结构体的vector容器,用于存储从文件中读取的数据。bool &isEmptyFIle:bool类型参数,指示文件是否为空,true为空,false为非空。*/
void SyncFileDataToProgram(vector<UltramanMainCharacter>& RolePool ,bool &isEmptyFIle){
    //创建文件流对象,以输入模式打开迪迦奥特曼.txt文件
    ifstream stream("迪迦奥特曼.txt", ios::in);  
    //判断文件是否成功打开 
    if (stream.is_open()) {
        //定义一个UltramanMainCharacter结构体变量value,用于从文件中读取数据  
        UltramanMainCharacter value;
        //读取文件第一个字符,判断文件内容是否为空  
        char ch = stream.peek();   
        //如果读取的第一个字符是文件结束符EOF,则文件为空,
        //isEmptyFIle为true,否则,文件不为空,isEmptyFIle为false 
        isEmptyFIle = ch == EOF;  
        //如果文件不为空     
        if (!isEmptyFIle){ 
            //将第一个读取的字符放回文件流中  
            stream.putback(ch);   
            //同步文件流 
            stream.sync(); 
            //获取当前文件流位置,设置为0,实现重置文件流读取位置 
            auto pos = stream.tellg();   
            pos = 0; 
            stream.seekg(pos); 
            //循环读取文件流,提取value结构体中各个字段的值    
            for (;      (stream >> value.name >> ws >> value.age >> ws >> value.occupation >> ws >> value.realIdentity >> ws >> value.role_player >> ws >> value.dub);) {  
                //将读取的UltramanMainCharacter结构体数据value,
                //emplace_back加入RolePool容器中,RolePool为UltramanMainCharacter结构体的vector容器 
                RolePool.emplace_back(forward<decltype(value)>(value)); 
            }
        }
        //关闭文件流 
        stream.close(); 
    }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小森程序员

若能帮助到你,小费自愿付费

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值