我在C中有一个程序,它用缓冲区读取文件:
Press Play
TU: 1
TU: 2
TU: 3 // now i use the mouse to seek forward to 19
TU: 19
//chrome & ff fire pause in between, ie not
Seek Start: 19
TU: 19
Seek End: 19
TU: 19
//chrome & ff fire play, ie not
TU: 20
...
现在我有一些问题:
答案 0 :(得分:2)
要回答您的问题,首先您必须了解fgets(3)。它一次读取一行,fgets()在换行或EOF到达后返回。并且' \ 0'附加以终止字符串。我回答你的问题如下......
答案 1 :(得分:1)
正如评论所示,man
可以在这里提供帮助,或者谷歌......来自cppreference
最多读取 - 给定文件流中的1个字符,并将它们存储在str指向的字符数组中。如果发生文件结束或找到换行符,则解析将停止,在这种情况下,str将包含该换行符。如果没有错误发生,请在写入str的最后一个字符后紧跟位置写入空字符。
还有:
返回值:str成功,空指针失败。
基本上,这个数字是你读取的字符数+ 1。通常你不会吞噬整条线,而只是吞噬它的一部分。在任何情况下,缓冲区都有一个空终止符,您可以继续读取直到EOF。