2014-03-02 103 views
0

美好的一天, 我正在嘗試編寫一個get line函數,它將接受用戶輸入並將其存儲到字符數組中。下面的代碼是我到目前爲止,但不幸的是我的代碼只是在命令提示符處。我不確定有什麼問題,我已經嘗試了很多方法,但似乎無法使其發揮作用。任何幫助將不勝感激,提前謝謝。實現我自己的getline函數

另外;這裏是重載函數的代碼+ =;

void MyString::operator +=(char addend) 
{ 
    reserve(getLength() + 2); 
    char ch[1] = { addend }; 
    strncat(sequence, ch, 1); 
}; 

我的getline函數的:

istream& getline(istream& ins, MyString& target) 
{ 

    char ch = 0; 
    istream& get(char& ch); 
    while (ins && ch != '\n') 
    { 
     istream& get(char& ch); 
     target += ch; 
    }; 
    return ins; 
}; 
+0

你在你的代碼的其他部分正確調用函數。 「get」有什麼不同? – chris

+1

你認爲'istream&get(char & ch);'應該是做什麼的? – 0x499602D2

+0

我認爲它從istream中調查了一個單獨的字符 – AwkwardRaven

回答

1
istream& get(char& ch); 

該行將宣佈的功能。您需要通話功能:

while (ins.get(ch) && ch != '\n') 
{ 
    target += ch; 
} 
+0

謝謝,當我查找get函數時,我感到困惑。 – AwkwardRaven