我正在编写一个程序,它采用由模式和文本文件名称组成的单个输入行。然后程序将在给定的文本文件中搜索给定的模式。
我接受输入并将其转换为两个字符串:pattern 和 file_name 在以下行中出现错误:
ifstream text(file_name);
当我将其更改为以下内容时,它可以正常编译。
ifstream text("file_name");
显然,这不是我想要的,因为文件名必须由用户的输入确定。
给定更改的文件名,如何进行此编译?
对于 C++03,ifstream采用const char*
参数,您可以尝试:
ifstream text(file_name.c_str());
在使用 C++11 时,您的第一条语句应该可以工作。