相当简单的问题。下面是我的代码,我试图读取文本文件中每一行的第一个单词。我几乎是C ++的新手,基本上是文盲,所以生动的解释会非常有用。提前谢谢!
我想要的输出是:
战士(5次),状态,战斗(5次),状态(当然是单独的行)
但我得到的是:
战士(4次),状态,战斗(5次),状态
这是我的代码:
int main() {
string readText;
string command;
string firstName;
string skip;
int strength;
ifstream inFile("warriors.txt");
if (!inFile) {
cout << "File will not open" << endl;
}
else {
while (inFile >> readText) {
getline(inFile, command);
inFile >> command;
if (command == "Warrior") {
cout << "warrior" << endl;
}
else if (command == "Battle") {
cout << "battle" << endl;
}
else if (command == "Status") {
cout << "status" << endl;
}
}
}
}
另一个问题是,为什么当我改变时:
while(inFile >> readText)
到
while(inFile)
我的输出现在是: 战士(4次),状态,战斗(5次),状态,状态
答案 0 :(得分:0)
您使用(inFile&gt;&gt;)和getline()在一个循环中读取多行。你的while循环应该看起来像
while (inFile >> command){
cout << command << endl;
}