关于使用while(!filePCloud.eof())判断文件结尾进行数据输入装换时注意事项

例程:

icp.msVecSrcPoints.clear();    //清空点云存储容器
        std::ifstream filePCloud(filePCloudDlg.GetFileName());
        while(!filePCloud.eof())
        {
            
            filePCloud>>PointCloud;

            if (filePCloud.eof())//判断是否到结尾,此判断一定要放到push_back前边
            {
            break;
            }
            icp.msVecSrcPoints.push_back(PointCloud);
            
        }
        filePCloud.close();
    }

一定要按照上述顺序进行判断结尾,若判断到结尾立马结束循环,不能再进行数据输入,否则文件最后一个字符会被输入两次,导致后续操作出错。

你可能感兴趣的:(关于使用while(!filePCloud.eof())判断文件结尾进行数据输入装换时注意事项)