C++程序用vector的erase方法删除文本中一行的信息 不知道问题出在哪

运行结果是没有任何变化,想删除的那一行没有被删掉,不知道是文件流的问题还是vector的问题。

img

if(position>=0)应该是if(position>0),不能等于,否则下面会越界。
程序看着没啥问题,加断点调试一下,或者打印一下position和.begen+position-1这个迭代器所指向的元素。看看position和迭代器的值是否正确