c++ - 无法在 C++ 中使用 ifstream 打开文件

标签 c++

<分区>

我是编程新手,这是我的第二个项目。 我按照讲师的笔记写了这些来使用ifstream打开一个文件但是总是有一个错误说 错误:没有匹配函数来调用“std::basic_ifstream::open(std::string&)”|

字符串文件名,命令; ifstream myfile;

cout << "Enter the file name: ";
cin >> filename;
myfile.open(filename);
while(myfile >> numloops)
{
    while(numloops != 0)
    {

部分代码

最佳答案

您正在使用 C++03 编译器。

只有从 C++11 开始,std::string 才能用于为 std::fstream 构造函数或 std 提供文件名: :fstream::open().

由于历史原因,旧版本的标准需要 C 风格的字符串。

您可以使用 std::string::c_str() 获得一个,因此:

myfile.open(filename.c_str());

不过,理想情况下,您应该改用非古老的编译器。

关于c++ - 无法在 C++ 中使用 ifstream 打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36438581/

相关文章:

c++ - 分配给 shared_ptr,有没有办法做到这一点?

c++ - 在混合 C/C++ 程序中协调 malloc 和 new 的 "correct"方法是什么?

c++ - std::async 返回值。未知错误

带有函数访问的全局共享变量的 C++ volatile 关键字

c++ - 我无法使用 C++ 从 mysql 数据库中检索数据

python - 如何通过 ctypes 将列表列表从 Python 传递(非空)到 C++?

c++ - 异步函数错误

c++ - OpenGL 程序适用于 AMD 但不适用于 NVIDIA

c++ - 试图更好地理解 C++ 大括号初始化语法

c++ - 编译QT错误