c++ - 提示用户输入一个文件来保存数据

标签 c++

我想做的是提示用户输入一个文件来保存数据,我试过的是:

  string save;
  cout<<"Enter filename to save (ex: file.txt): ";
  cin>>save;
  ofstream myfile;
  myfile.open(save);
  myfile <<"ID \tName \tSales\n";

但是我得到一个错误:没有匹配函数来调用‘std::basic_ofstream >::open(std::string&)’

编辑:

所以我已经更新了我的代码,但这不允许我输入文件名。这是为什么

  char file_name[81];
  cout<<"Enter filename to save (ex: file.txt): ";
fflush(stdin);
  cin.getline(file_name, 81);

最佳答案

在 C++03 中没有采用 std::string 的构造函数或 open 函数:myfile.open(save.c_str()); 。但是,他们在 C++11 中添加了它们。

这是一个nice reference .注意 std::string 版本旁边的 since C++11 注释。

关于c++ - 提示用户输入一个文件来保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13336631/

相关文章:

c# - 无法添加对 WinRT C++ DLL 项目的引用

c++ - 整数乘法真的以与现代 CPU 上的加法相同的速度完成吗?

c++ - 调用 gcc _without_ -pthread 有什么好处?

c++ - Qt 将类连接到 MainWindow

c++ - 在 MAKEWORD/MAKEWPARAM 中使用 bool 值而不是 BOOL 值

c++ - 哪本 C++ 书籍讨论了组织大型项目的推荐方法?

c++ - 根据gtest框架中的参数生成测试后缀

c++ - 基于元组值对 vector 进行排序

c++ - 如何在一个 vector 中分配多个不同类型的变量或区分其类型

c++ - 添加临时对象时 emplace_back 是否比 push_back 更好?