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