我試圖寫我自己的詞彙與我的小兄弟一個考驗,但我有一個問題,當我想從文件中讀取數據到兩個數組 - 與英文單詞第一,第二和用波蘭語單詞。文件看起來都閱讀文件成兩個陣列
黑 - 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會導致溢出,我錯了嗎? –