我試圖在C++中創建一個字典,但是在'='分隔符上分割文本文件時遇到問題。理想情況下,它會在兩個陣列中。我想將行的'='的左側放入數組[0],將右側放入數組[1],然後使用數組[0]作爲鍵並將數組[1]用作預製的值插入功能,例如。 dictionary.insert(array [0],array [1])。我已經建立了字典邏輯,但是在分割線路時遇到了麻煩。將'='分隔線上的文本文件逐行分解C++
下面是未使用等號作爲分隔符,並且因此把「=」到數組[1]我的(可怕)代碼:
int main() {
Dictionary englishToEsperanto;
ifstream infile("Dictionary.txt");
string line;
string arr[2];
if (infile.is_open())
{
while (getline(infile, line))
{
int i = 0;
stringstream ssin(line);
while (ssin.good() && i < 2) {
ssin >> arr[i];
++i;
}
for (i = 0; i < 2; i++) {
cout << arr[i] << ' ';
}
cout << endl;
}
infile.close();
}
else
{
cout << "Error opening file";
}
return 0;
}
這裏的文本文件的前幾行:
aback, to take = surprizi.
abaft = posta parto.
abandon = forlasi.
abase = humiligi. [error in book: humilgi]
abash = hontigi.
abate (lower) = mallevi.
abate (speed) = malakceli.
abbey = abatejo.
abbot = abato.
abbreviate = mallongigi.
abdicate = demeti la reĝecon.
abdomen = ventro.
感謝您的期待。
你可以用'的std ::函數getline(infile的,一句話,「= ')'讀取鍵和'std :: getline(infile,word);'獲得行的其餘部分。 –