c++ - 使用 C++ ifsteam 从文件读取到模板 vector

标签 c++ list templates

我想从一个文件(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/

相关文章:

java - 如何让 Java 方法返回任何类型的通用列表?

c++ - 模板类中使用了错误的构造函数

C++:模板化基类的范围?

c++ - 只要您不直接访问它包含的值,它是否通过 memcpy 序列化对象表示而不创建安全的对象?

javascript - 如何存储 Monoidal List 功能链的数据?

c++ - 升压几何 : Polygon definition

python - 如何检查嵌套列表中有多少条目,然后删除每个项目的最后 3 个值以外的所有其他值?

c++ - 成员变量和函数参数的模板类型推导

java - 在 Windows 上加载多个 JAR - JNI JNI_CreateJavaVM

c++ - 指定初始值设定项中参数列表的大括号数量