试图从文本文件中读取向量

Trying to read a vector from a textfile

本文关键字:读取 向量 文件 文本      更新时间:2023-10-16
    while (artist >> forname >> surname >> bandnum)
{
for (int i = 0; i <= bandnum; i++)
{
artist >> band[i];
}
for (int i = 0; i > bandnum; i++)
{
cout << band[i];
}
artist >> role;

以下代码是我尝试从文本文件中读取向量的方式,这是如下所示的表格

John Smith 3 A B C Singer

必须以名字,第二个名称,乐队编号,他们效力的乐队以及他们的角色读取订单。Artist是ifstream,bandnum是他们演奏的乐队数量," A B C"是他们的乐队。band是一个矢量,作为乐队的数量以及他们演奏的乐队将为每个艺术家而改变。当我尝试运行此操作时,代码断开说"向量下标出范围"。我该怎么办?

狂野的猜测,您没有更正重调整频段(例如,零尺寸)。可能您需要使用push_back将项目添加到矢量。

while (artist >> forname >> surname >> bandnum)
{
    for (int i = 0; i < bandnum; i++)
    {
        string tmp;
        artist >> tmp;
        band.push_back(tmp);
    }
    artist >> role;
}