从文本文件中读取在c ++中

时间:2013-09-08 02:39:26

标签: c++ string fstream ifstream

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

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

ifstream text(file_name);

当我将其更改为以下内容时,它编译得很好。

ifstream text("file_name");

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

如何根据更改的文件名进行编译?

1 个答案:

答案 0 :(得分:4)

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

ifstream text(file_name.c_str());

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