• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++出现error:nomatchfor'operator'(operandtypesare'std::ofstream{akastd::basic_of ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

从CSV文件中读取数据代码:

bool speechManager::fileIsEmpty()
{
    //创建文件流
    ofstream ifs(FILENAME, ios::in);
    //判断文件是否打开成功
    if(!ifs.is_open())
    {
        cout << "open false" << endl;
        return false;
    }
    char ch;
    ifs >> ch;
    if(ifs.eof())
    {
        //文件为空
        cout << "no records" << endl;
        ifs.close();
        return false;
    }
    //读取记录
    ifs.seekg(0, std::ios::beg);
    int count = 0; //记录总共记录有多少条
    vector<string> vec; //按行读取每一届记录,有几届就有几个string
    string str; //每一行读取的数据
    while(getline(ifs, str))
    {
        vec.push_back(str);
        count++;
    }

    //关闭文件
    ifs.close();
   return true;
}

运行报错:

error: no match for 'operator>>' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}' and 'char') ifs >> ch;

分析和解决:

上面的代码是用ofstream打开文件,即写入的方式,但是后面却用它来读取文件ifs >> ch,将ofstream换成输入流ifstream即可


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap