当您使用条件为!fin.eof()
的while循环时,它是如何工作的?如果我的循环包含像fin.get(ch)这样的语句,其中ch的类型为char?
答案 0 :(得分:0)
fin.eof()将指针递增到输入缓冲区中的下一个字符。这可能包括换行符或其他隐藏字符,这些字符是您所期望的。 "它从当前流位置读取字符,包括第一个换行符,到流的末尾,或直到读取的字符数等于n - 1 [对于fgets],以先到者为准。 #34; (来自http://www.cplusplus.com/forum/beginner/37005/)
我发现了
while (getline(fin,sent))
通常效果更好 (见http://mathbits.com/MathBits/CompSci/Files/End.htm)