file.open()内的参数只能是使用C的字符串,不能是string

  1. string filename = "1.txt";  
  2. ifstream fin;  
  3. fin.open(filename);

上述语句会产生如下错误:

error: no matching function for call to 'std::basic_ifstream<char>::open(std::string&)

原因是C++的string类无法作为open的参数。

解决方案:使用C的字符串。

方法一:string.c_str()

方法二:

    1. char filename[10];  
    2. strcpy(filename, "1.txt");  
    3. ifstream fin;  
    4. fin.open(filename);

原文链接: https://www.cnblogs.com/zhangyabin---acm/archive/2013/03/15/2962020.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    file.open()内的参数只能是使用C的字符串,不能是string

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/80714

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午7:41
下一篇 2023年2月9日 下午7:41

相关推荐