今天在写邻接表的时候,通过读文件的形式读取数据,最后发现每次都会多读取一行,找了好一会儿才找到元凶
void Graphic::buildGraph(std::string fname)
{
std::ifstream fin(fname);
fin>>this->num;
this->graph=
本文讨论了在使用C++读取文件时遇到的问题,即每次读取时会多读一行。问题源于错误地使用了`!fin.eof()`作为文件结束的判断条件。当读取到最后一行的末尾时,需要再读取一次才能检测到文件结束标志,导致额外的无效读取。解决方案是使用其他正确的方法来判断文件是否结束。
今天在写邻接表的时候,通过读文件的形式读取数据,最后发现每次都会多读取一行,找了好一会儿才找到元凶
void Graphic::buildGraph(std::string fname)
{
std::ifstream fin(fname);
fin>>this->num;
this->graph=
349
1267
8721
9053
8645
2万+

被折叠的 条评论
为什么被折叠?