1

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

我接受输入并将其转换为两个字符串:pattern 和 file_name 在以下行中出现错误:

ifstream text(file_name);

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

ifstream text("file_name");

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

给定更改的文件名,如何进行此编译?

4

1 回答 1

4

对于 C++03,ifstream采用const char*参数,您可以尝试:

ifstream text(file_name.c_str());

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

于 2013-09-08T02:44:16.347 回答