问题描述
我正在为这个同时使用JNI和C ++的学校进行这个项目。 Java代码是给我的,它使用户可以为有关动物园动物的数据集输入6个不同的输入。最后,它会询问您是否要添加Y或N。
如果是,则输入将在第二行,选择N后将写入.txt文件,格式为:
001235 Alita哺乳动物狼0 0
001234鲍勃·哺乳动物狼0 0
(请注意,两个数据之间没有空行)
下面的代码是我编写的打开文件并将输入转换为向量的内容,该向量可成功用于一行用户输入。我遇到了一个问题,即如何合理地使用户可以输入的向量数量未知。
void LoadDataFromFile()
{
/*
Todo: Write proper code to load data from input file (generated using JNI) into vector/array.
*/
vector<string> zooVector(6);
int count = 0;
unsigned int i;
ifstream inputFile;
inputFile.open("zoodata.txt");
if (!inputFile) {
cerr << "Unable to open file zoodata.txt";
exit(1); // call system to stop
}
while(count < 6) {
for(i = 0; i < 6; ++i) {
inputFile >> zooVector.at(i);
count += 1;
}
}
最终的目标是将其写入内存以进行多类继承,但是我试图使输入对向量起作用。
解决方法
animal
的不同字段不需要字符串向量;您需要一个struct
。
当您需要一个struct
的向量来代表一个动物园时;随着您从文件中读取更多行,它会动态增长。