我想从一个文件(First.txt)中读取内容,如下所示:
1
2
3
和另一个文件(Second.txt),如下所示:
ab
cd
de
在主方法中,我将调用模板函数来读取文件,如下所示:
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++ ifsteam 从文件读取到模板 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34255296/