【问题标题】:Reading From Text File In c++在 C++ 中从文本文件中读取
【发布时间】:2013-09-08 02:39:25
【问题描述】:

我正在编写一个程序,它采用由模式和文本文件名称组成的单个输入行。然后程序将在给定的文本文件中搜索给定的模式。

我接受输入并将其转换为两个字符串:模式和文件名 我在以下行收到错误:

ifstream text(file_name);

当我将其更改为以下内容时,它可以正常编译。

ifstream text("file_name");

显然,这不是我想要的,因为文件名必须由用户输入确定。

在更改文件名的情况下如何编译?

【问题讨论】:

  • file_name 的类型是什么,编译器的版本是什么?
  • file_name 设为 std::string ,它应该可以正常工作。 (这假设 C++11,因为我们在 2013 年大声呼喊:v)
  • 我打赌 file_name 是 std::string 并且你的问题会通过使用 file_name.c_str() 消失

标签: c++ string fstream ifstream


【解决方案1】:

对于C++03,ifstreamconst char*参数,你可以试试:

ifstream text(file_name.c_str());

在使用 C++11 时,您的第一条语句应该可以工作。

【讨论】:

  • 不错。我没有注意到 c++11 中增加的重载。总能找到新的惊喜。
  • 这就是我们喜欢 C++11 的原因 :)
猜你喜欢
  • 1970-01-01
  • 2020-02-24
  • 1970-01-01
  • 2022-06-10
  • 2012-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多