gpt4 book ai didi

c - 什么更有效率 : reading from a file or allocating memory

转载 作者:太空宇宙 更新时间:2023-11-04 07:55:53 25 4
gpt4 key购买 nike

我有一个文本文件,我应该分配一个数组,其中的条目数与文件中的行数一样多。哪个更有效率:读取文件两次(首先找出行数)并分配数组一次,或者读取文件一次,并在每行读取后使用“realloc”?提前谢谢你。

最佳答案

无论效率如何,两次读取文件都是一个坏主意。 (它也几乎肯定效率较低。)

如果您的应用程序坚持读取它的输入 teice,这意味着它的输入必须是可倒带的,这不包括终端输入和管道。这是一个非常烦人的限制,以至于真正需要多次读取其输入的应用程序(如 sort)通常具有在无法找到输入时制作临时副本的逻辑。

在这种情况下,您只是想避免一些额外的 malloc 调用的微不足道的开销。这不是限制应用程序输入选项的理由。

如果这还不够令人信服,请想象一下,如果有人在您第一次和第二次阅读文件之间追加内容,会发生什么情况。如果您的实现信任它在第一次读取时获得的计数,它将在第二次读取时超出行指针 vector ,从而导致未定义的行为和潜在的安全漏洞。

关于c - 什么更有效率 : reading from a file or allocating memory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50191736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com