将ifstream输入转换为模板类型

Convert ifstream input to template type

本文关键字:类型 转换 ifstream 输入      更新时间:2023-10-16

我有一个类型T的模板类别。如何将值从ifstream转换为上述类型?有什么特别的演员吗?

我不能使用static_cast或stod()。

我必须以字符串为字符串中读取该值,以便以后可以将字母的数字分开。因此,我无法使用>>操作员。

如果我使用流>> t。和t是双重的。字符串会导致错误,如果我遇到此错误,是否可以看到引起错误的字符串?

我将如何将值从ifstream转换为所述类型?有什么特别的演员吗?

没有特殊的演员。

如果文件包含可以使用operator>>从文件读取的类型T的对象,则可以使用:

T t;
stream >> t;

如果文件包含二进制格式的 T类型的对象,则可以使用以下方式读取文件中的对象:

T t;
stream.read(static_cast<char*>(&t), sizeof(T));