打开文件以在C++;,文件名字符串出现问题 我正在打开一个C++中的文件(Linux,Debian)。
上述方法可行,但当我尝试时:打开文件以在C++;,文件名字符串出现问题 我正在打开一个C++中的文件(Linux,Debian)。,c++,linux,ifstream,C++,Linux,Ifstream,上述方法可行,但当我尝试时: string filename = "readme"; ifstream input (filename); 我得到了一个以error开始的错误页面:没有匹配的函数来调用… 为什么这不起作用?我如何使用字符串变量作为文件名输入?您可以使用: string filename = "readme"; /* Convert filename to C string of type const char* (null terminated) using c_str m
string filename = "readme";
ifstream input (filename);
我得到了一个以error开始的错误页面:没有匹配的函数来调用…
为什么这不起作用?我如何使用字符串变量作为文件名输入?您可以使用:
string filename = "readme";
/* Convert filename to C string of type const char*
(null terminated) using c_str method
*/
ifstream input (filename.c_str());
或者使用C++11标志
-std=c++11
或-std=c++0x
参考:您可以使用:
string filename = "readme";
/* Convert filename to C string of type const char*
(null terminated) using c_str method
*/
ifstream input (filename.c_str());
或者使用C++11标志
-std=c++11
或-std=c++0x
Ref:仅在C++11中添加了
ifstream
和接受std::string
的朋友的构造函数,这意味着您应该使用符合C++11标准的库实现,或者至少使用一个支持特定功能的库实现
要能够在您的案例中使用std::string
作为文件名,请使用:
此方法适用于较旧的非C++11编译器。仅在C++11中添加了
ifstream
和接受std::string
的朋友的构造函数,这意味着您应该使用符合C++11的标准库实现,或者至少使用一个支持特定功能的实现
要能够在您的案例中使用std::string
作为文件名,请使用:
此方法适用于较旧的非C++11编译器
string filename = "readme";
ifstream input (filename.c_str());