我正在尝试使用从矢量检索到的字符串将文件名传递给ifstream以便打开。
vector<string> files;
//Populate vector
std::ifstream ifile(files[0] ,std::ios::binary);
编译时返回:
错误:没有匹配函数来调用'std :: basic_ifstream&gt; :: basic_ifstream(std :: basic_string,std :: allocator&gt;&amp;,const std :: _ Ios_Openmode&amp;)*
如果我尝试将文件[0]转换为const char * first
vector<string> files;
std::string l = files[0];
const char *p;
p = l.c_str();
std::ifstream ifile(p ,std::ios::binary);
编译器返回:
错误:'l'未在此范围内声明
我在这里做错了什么?这是基本的,我很有信心。
答案 0 :(得分:1)
试试这个:
std::ifstream ifile(files[0].c_str(), std::ios::binary);