对于我的一项作业,我必须读取一个文件(约 100 行)。 为了操作文件的内容并提取所有行,我使用 stat 函数分配一个具有文件大小的缓冲区。我用这个缓冲区读取的函数读取了文件。 有人告诉我这个方法很脏。
为什么它被认为是脏的?我认为如果文件很短,则意味着 char 数组的大小是可以接受的,并且意味着只有几个系统调用??
最佳答案
如果您的文件是符号链接(symbolic link)而不是常规文件,您将获得“符号链接(symbolic link)中包含的路径名的长度(以字节为单位)”。所以你不应该用它来获取文件长度。您可以在返回的 struct stat 的文档中看到这一点。 (http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/stat.h.html)
关于c - stat 获取文件的大小并复制它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26166805/