(C语言)怎样判断是使用流函数还是使用低级函数?
流函数(如fread()和fwrite())带缓冲区,在读写文本或二进制文件时效率更高。因此,一般来说,使用流函数比使用不带缓冲区的低级函数(如read()和write())会使程序性能更好。
然而,在多用户环境中,文件需要共享,文件中的一部分会不断地被加锁、读、写或解锁,这时流函数的性能就不如低级函数好,因为共享文件的内容变化频繁,很难对它进行缓冲。因此,通常用带缓冲区的流函数存取非共享文件,用低级函数存取共享文件。
然而,在多用户环境中,文件需要共享,文件中的一部分会不断地被加锁、读、写或解锁,这时流函数的性能就不如低级函数好,因为共享文件的内容变化频繁,很难对它进行缓冲。因此,通常用带缓冲区的流函数存取非共享文件,用低级函数存取共享文件。