1
5
为了演示这个原理:假设您使用相同的方案将10个字符“0”到“9”放入8字节缓冲区: 7个字符后:
在第8个字符之后:
所以现在
在第10个字符之后:
现在
程序正在这样做(而不仅仅是放弃),这样即使文件比缓冲区大很多,它仍然可以工作。(除非最后10行的总长度大于缓冲区,in 在这种情况下,最后10行中的一些行会丢失)。 |
2
0
这个程序将所有行读入一个行数组。数组中的每个元素都有固定的大小。如果一行的长度超过了该行的最大大小,它将“包装”该行,并在缓冲区开始处重新开始填充缓冲区。 然后展开将最旧的内容放在末尾,这样行看起来就从行的开头截断了。(10个字符缓冲区中的12个字符行将显示从第3个字符开始的最后10个字符。) |