外面看到有人测试read和gets的执行速度,我从内存方面做一个猜测。
read在执行的时候是把文本全部都读入到内存里面所以执行速度快,不过这个对内存的大小,还有所处理文件的大小就有要求了,如果太大就可能执行失败。
而gets则是一行,一行的读入,因为每次执行的时候都是读入一行到内存中,所以比直接从内存中取数据慢很多。不过这样的好处就是可以处理很大的文件,而不用担心内存卡爆。
所以,最后总结:
read读取文本速度快,但是不能读取过大的文本;gets读取文本速度慢,但是可以读取处理大的文本,具体选择可以根据内存和文件大小。