我想从看起来像这样的文件( First.txt )中读取:
1
2
3
另一个文件( Second.txt ),如下所示:
ab
cd
de
在main方法中,我将调用模板函数来读取文件,如下所示:
list<string> list1;
vector<float> list2;
read(list1, "First.txt");
read(list2, "Second.txt");
模板功能具有以下结构:
template<typename T>
void read(T &v, string s)
{
std::fstream f;
f.open(dataname,std::ios_base::in);
f.close();
}
此处
T
代表list<string>
和vector<float>
。如何使用fstream在此列表中阅读?
最佳答案
尝试
void read(T &v, string s)
{
std::fstream f(dataname,std::ios_base::in);
typename T::value_type tmp;
while( f >> tmp )
v.push_back(tmp);
f.close();
}
关于c++ - 使用C++ ifstream从文件读入模板 vector ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34255296/