- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试编写一个程序,要求用户输入文件名,然后打开该文件。当我编译它时,出现以下错误:
no matching function for call to std::basic_ofstream<char,
std::char_traits<char> >::basic_ofstream(std::string&)
这是我的代码:
using namespace std;
int main()
{
string asegurado;
cout << "Nombre a agregar: ";
cin >> asegurado;
ofstream entrada(asegurado,"");
if (entrada.fail())
{
cout << "El archivo no se creo correctamente" << endl;
}
}
最佳答案
std::ofstream
如果您有 C++11 或更高版本,则只能使用 std::string
构造。通常这是通过 -std=c++11
(gcc, clang) 完成的。如果您无法访问 c++11,那么您可以使用 std::string
的 c_str()
函数来传递一个 const char *
到 ofstream
构造函数。
也为 Ben有pointed out您正在为构造函数的第二个参数使用空字符串。如果提供,第二个参数需要是 ios_base::openmode
类型。
有了这些你的代码应该是
ofstream entrada(asegurado); // C++11 or higher
或
ofstream entrada(asegurado.c_str()); // C++03 or below
我还建议您阅读:Why is “using namespace std;” considered bad practice?
关于c++ - 没有匹配函数调用 `std::basic_ofstream<char, std::char_traits<char>>::basic_ofstream(std::string&)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35045781/
std::map Map; std::string name="name"; std::ofstream ofs(name,std::ios::app); Map[name] = std::move(
我正在尝试编写一个程序,要求用户输入文件名,然后打开该文件。当我编译它时,出现以下错误: no matching function for call to std::basic_ofstream >:
我有一个 info_list类型变量 std::list>我想以二进制格式依次迭代和保存数据到一个文件中。这是我尝试过的: void write_data() { std::basic_ofs
我很困惑。 我在学习ofstream,看来真的是basic_ofstream根据: https://en.cppreference.com/w/cpp/io/basic_ofstream/basic_
这个问题在这里已经有了答案: Writing integer to binary file using C++? (1 个回答) 关闭 6 年前。 我正在尝试在这里完成二进制 i/o,但我一直收到这
我在下面列出了一些工作代码 ofstream of("/home/joe/test.dat", ios::out | ios::binary); of.write((char*)&dat[0],dat
我想不通,是否可以将 std::basic_ifstream 和 std::basic_ofstream 与 std::basic_filebuf 的自定义实现一起使用? 按 64KB 大小的 blo
这个问题在这里已经有了答案: Why can't I move std::ofstream? (1 个回答) 关闭 7 年前。 我正在尝试导入一个我之前在 Windows 下使用 C++11 和 O
这适用于 Visual Studio,并且适用于一台计算机上的 GCC 4.9.2。 但在不同的计算机上,我认为它是相同的 GCC 4.9.2 编译器,但它给了我这个错误。 我错过了什么吗?怎么回事?
我是一名优秀的程序员,十分优秀!