这个函数如何将文本读入结构体

how this function read text into a struct?

本文关键字:文本 结构体 函数      更新时间:2023-10-16

我试图理解下面的函数到底在做什么。它用于将文本文件读入名为AEntry结构体,该结构体仅包含四个int型。

文件包含行列表。每行包含4个整型数,用空格(或制表符)分隔。

调用该函数时,将传入一行istream和一行AEntry struct

我的问题是如何将分隔符、空格或制表符过滤掉?或者我的理解错了。

istream& operator>>( istream &stream, AEntry& val )
{
    stream >> val.kv;
    stream >> val.col;
    stream >> val.bo;
    stream >> val.Offset;
    return stream;
}

它们被过滤掉了,因为这是istream::operator>>默认过载的行为。它们在空格处停止并丢弃它,而不是将其合并到提取的输出中。