原因是在读出最后一个字符时,in.eof()还是为假的,只当读过最后一个字符再读(读不成功)时in.eof()才变为真。由于最后一次没有读取成功,ch保持原值,所以最后一个字符被多算一次。(转载侵删)
fstream.eof(),最后一个字符会读两遍问题(笔记)
最新推荐文章于 2022-12-29 20:17:11 发布
原因是在读出最后一个字符时,in.eof()还是为假的,只当读过最后一个字符再读(读不成功)时in.eof()才变为真。由于最后一次没有读取成功,ch保持原值,所以最后一个字符被多算一次。(转载侵删)