【发布时间】: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