我可以在 C++ 中指定要写入的文件吗?我希望能够输入文件名并写入该文件。当我尝试制作 myfile.open("example.txt")
myfile.open(var)
时,出现一个很大的错误...
error: no matching function for call to ‘std::basic_ofstream >::open(std::string&)’ /usr/include/c++/4.2.1/fstream:650: note: candidates are: void std::basic_ofstream<_CharT, _Traits>::open(const char*, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits]
你能解释一下我做错了什么吗?我感觉这很简单,因为这是我使用 C++ 的第一周。
最佳答案
如果 var
是 std::string , 尝试:
myfile.open(var.c_str());
该错误准确地告诉您出了什么问题,尽管命名的模板类型的精确性并不能帮助您清楚地了解问题所在。查看 .open() 的引用资料.它需要一个 const char *
作为文件名,以及另一个可选的模式参数。您传递的不是 const char *
。
关于c++ - 在 C++ 中写入用户指定的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9101842/