我正在尝试将名为“board.txt”的文件的前 7 个字符读入 vector <'char>,但由于某种原因我遇到了问题。我不太熟悉 C++,所以任何建议将不胜感激,这是我到目前为止的代码
//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 是一个字符 vector
我试着在我的主要测试中使用这个:
for (int i = 0; i < test->getMyRack().size(); ++i){
cout << test->getMyRack().at(i);
}
但它没有输出任何内容,为什么我正在读取的字符没有被添加到我的字符 vector 中?
最佳答案
因为您没有将 char 放入 vector 中。您的函数 getMyRack()
返回 vector ,但不返回 vector 的地址。您可以将方法添加到您的类(class)板以添加字符,例如:
void board::addChar(char c){
this->myRack.push_back(c);
}
然后调用这个函数:
while(rackIn.get(ch) && charCount < 7){
this->addChar(ch);
}
或者更改函数的返回类型。
关于C++,从文件中逐个字符地将字符读入 vector<char>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34101838/