2015-12-05 147 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