我需要能够使用不同的文件多次使用一个函数。我有这段代码:
fstream in(inf, ios::in);
其中inf
是一个扩展名为.mpp
的字符串,但不起作用(声明)
你能帮我么? :)
答案 0 :(得分:3)
你可能想要:
fstream in(inf.c_str(), ios::in);
更好的是,使用ifstream:
string mpp = "foobar.mpp";
ifstream in( mpp.c_str() );
我不明白为什么当人们只想执行输入或输出时,人们不会使用专门的输入和输出流。
答案 1 :(得分:0)
正如我可能推断出你的“不起作用”的回答,也许你必须:
a)包括fstream
标题。
b)std::
使用fstream
前缀(或ifstream
)
#include <fstream>
// ...
std::ifstream in (inf.c_str());
(请注意,如果您使用ifstream
,则无需指定ios::in
)
答案 2 :(得分:-1)
毫米。
也许尝试将此函数包装在某个文件处理程序对象中。然后只需在工作文件中包含文件处理程序头,并尽可能多地使用它。