C ++将stringstream转换为ifstream吗?

问题描述

我正在处理两段代码

第一类使用AAssetManager(Android NDK对象)读取“资产”并将其内容保存到单个字符串中。然后,它将字符串转换为字符串流并对其进行解析。

第二个类解析类型ifstream,该类型必须与文件关联。

是否可以通过某种方式将字符串或字符串流转换为ifstream,这样就不必更改这些类之一的全部了?

解决方法

您可以将ifstream变成istreamifstream只是istream的一种更具体的形式。 stringstream继承自istream,因此您可以直接传递stringstream。如果您无法使用此功能,则可以将字符串存储到文件中,然后使用ifstream重新打开文件,并将该ifstream传递给第二个函数。