C++ 使用外部文件读取空白

C++ 使用外部文件读取空白,c++,C++,当我想要读取字符串时,我在读取带有空白的外部文件时遇到问题 这是外部文件格式: 5 SD Mines 77 40 Northern State 80 64 BYU 77 65 Creighton 81 88 Sam Houston State 60 49 这是我读取文件的代码: for (int i = 0; i < arraySize; i++) { inputFile >> b[i].visitTeam >> b[i].homeScore >&g

当我想要读取字符串时,我在读取带有空白的外部文件时遇到问题

这是外部文件格式:

5
SD Mines
77 40
Northern State
80 64
BYU
77 65
Creighton
81 88
Sam Houston State
60 49
这是我读取文件的代码:

for (int i = 0; i < arraySize; i++)
{
    inputFile >> b[i].visitTeam >> b[i].homeScore >> b[i].visitScore;
}
for(int i=0;i>b[i].VisiteTeam>>b[i].homeScore>>b[i].VisitCore;
}

std::istream::oprator>>()
函数遇到空白时停止读取。您可以使用
std::getline()
读取整行

for (int i = 0; i < arraySize; i++)
{
    std::getline(inputFIle, b[i].visitTeam);
    inputFile >> b[i].homeScore >> b[i].visitScore;

    // Now, make sure you skip everything in the line.
    // Otherwise, the next call to getline() will return an
    // empty string.
    inputFile.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}
for(int i=0;i>b[i].homeScore>>b[i].VisitCore;
//现在,请确保跳过队列中的所有内容。
//否则,对getline()的下一次调用将返回
//空字符串。
忽略(std::numeric_limits::max(),'\n');
}

The>>没有收集到我的原始数据,但getline让我的团队做对了。我正在使用inputFile.ignore();在我的>>操作员之前,我仍然会出错,但其他一切都是对的。这是我得到的,我唯一会出错的是主队得分。这是由调用
inputFile.ignore()
后调用
getline()
引起的。您不需要对
ignore()
的前两个调用。你只需要最后一个。