我想从看起来像这样的文件( 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/

10-12 23:04