IFSTREAM通过参数
IFSTREAM through parameter
我有一个通用的读取功能:
vector <string> GenericRead(ifstream &fin);
还有一个函数:
int Rule(ifstream &fin)
{
vector <string> obj2=GenericRead(fin);
}
主要:
ifstream fin;
fin.open("ex.txt");
vector<string>obj=GenericRead(fin); // works fine
Rule(fin) // no longer works, there are no elements in the function vector
任何解决方案都具有相同的结果函数向量?
流就像一个安全指针,它运行在文件上并将它当前指向的值流式传输到某个目的地。在 GenericRead
的末尾我怀疑流 "points" 到文件的末尾。您需要将其回滚到文件的开头。
在 Rule
之前尝试 fin.seekg(std::ifstream::beg)
。
免责声明 - 你没有 post 整个代码,这只是我的(可靠的)假设。
我有一个通用的读取功能:
vector <string> GenericRead(ifstream &fin);
还有一个函数:
int Rule(ifstream &fin)
{
vector <string> obj2=GenericRead(fin);
}
主要:
ifstream fin;
fin.open("ex.txt");
vector<string>obj=GenericRead(fin); // works fine
Rule(fin) // no longer works, there are no elements in the function vector
任何解决方案都具有相同的结果函数向量?
流就像一个安全指针,它运行在文件上并将它当前指向的值流式传输到某个目的地。在 GenericRead
的末尾我怀疑流 "points" 到文件的末尾。您需要将其回滚到文件的开头。
在 Rule
之前尝试 fin.seekg(std::ifstream::beg)
。
免责声明 - 你没有 post 整个代码,这只是我的(可靠的)假设。