2015-12-05 80 views
0

我正在嘗試將名爲「board.txt」的文件的前7個字符讀入向量<'char>,但我遇到了問題一些原因。我不是太熟悉C++,因此任何建議,將不勝感激,這裏是我迄今爲止C++,從字符中讀取字符<char>,從字符中逐個字符

//rack 
int charCount = 0; 
char ch; 

ifstream rackIn("board.txt"); 

while(rackIn.get(ch) && charCount < 7){ 
    this->getMyRack().push_back(ch); 
} 

而且這裏的代碼在上面的代碼中使用的功能getMyRack:

vector<char> board::getMyRack(){ 
    return this->myRack; 
} 

myRack是一個char向量

我想在我的主要測試此使用這樣的:

for (int i = 0; i < test->getMyRack().size(); ++i){ 
    cout << test->getMyRack().at(i); 
} 

但不輸出任何內容,爲什麼我正在閱讀的字符沒有被添加到我的char向量中?

回答

2

因爲你不把字符放在你的向量中。您的功能getMyRack()返回矢量,但不是您的矢量地址。您可以添加方法類板添加字符,例如:

void board::addChar(char c){ 
    this->myRack.push_back(c); 
    } 

然後再調用這個函數:

while(rackIn.get(ch) && charCount < 7){ 
    this->addChar(ch); 
    } 

或更改函數的返回類型。

+0

哦,對,有道理,非常感謝! – Biggytiny

+0

不客氣) – Evgeniy331