我试图写我自己的词汇与我的小兄弟一个考验,但我有一个问题,当我想从文件中读取数据到两个数组 - 与英文单词第一,第二和用波兰语单词。文件看起来都阅读文件成两个阵列
黑 - czarny
红 - czerwony等
我的功能:
void VOC::readout()
{
fstream file;
VOC *arr = new VOC;
string line;
file.open("slowka.txt");
if(file.good())
{
int i=0;
while(!file.eof())
{
getline(file, line);
size_t pos = line.find(" - ");
int position = static_cast<int>(pos);
file>>arr[i].en;
file>>arr[i].pl;
++i;
}
}
}
我想这可能是插入线为第一阵列,直到函数是个好主意找到“ - ”,然后将其余行插入第二个数组,但我遇到了一些问题。有人能帮助我吗?我知道我可以通过使用std :: vector来解决它,但我很关心使用数组来做到这一点。
'arr'指向*一个*单个'VOC'对象,并且不是*数组。由于你不知道有多少,所以'std :: vector'是你最好的选择。 – crashmstr
什么是你用'INT位置=的static_cast(POS)做;'? –
NathanOliver
我认为比较size_t和int会导致溢出,我错了吗? –