原因是在读出最后一个字符时,in.eof()还是为假的,只当读过最后一个字符再读(读不成功)时in.eof()才变为真。由于最后一次没有读取成功,ch保持原值,所以最后一个字符被多算一次。
关于fstream 中的eof问题 原因是在读出最后一个字符时,in.eof()还是为假的,只当读过最后一个字符再读(读不成功)时in.eof()才变为真。
最新推荐文章于 2022-03-30 16:13:56 发布
原因是在读出最后一个字符时,in.eof()还是为假的,只当读过最后一个字符再读(读不成功)时in.eof()才变为真。由于最后一次没有读取成功,ch保持原值,所以最后一个字符被多算一次。