对于我的一个作业,我必须阅读一个文件(约100行)。 为了操作文件的内容并提取所有行,我分配一个缓冲区,其大小与文件的大小一致。我用这个缓冲区读取了读取函数的文件。 我被告知这种方法很脏。
为什么它被认为是脏的?我认为如果文件很短,则意味着char数组的大小是可以接受的,这意味着只有少数系统调用?
答案 0 :(得分:1)
如果您的文件是符号链接而不是常规文件,您将获得符号链接中包含的路径名的长度(以字节为单位)。"所以你不应该用它来获取文件长度。您可以在返回的struct stat的文档中看到这一点。 (http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/stat.h.html)