gpt4 book ai didi

c - 从 C 语言的电话簿代码的文本文件中读取信息

转载 作者:行者123 更新时间:2023-11-30 20:29:00 24 4
gpt4 key购买 nike

我需要从文本文件中读取姓名和电话号码,并将它们保存在电话簿应用程序的结构中。问题是在不知道文本有多少行的情况下,我如何安排我的代码,以便它读取文本包含的确切行数。

最佳答案

实际上取决于您对“读取确切行数”的定义。

[1] weather-vane在评论中指出, while/fgets 是最安全的工作方式...阅读直到遇到 EOF 然后停止。

[2] 如果信息来自普通文件,您可以在读取之前对文件进行 stat(2) 以获得其确切大小。

[3](如果您猜错的话,由于存在错误的风险,解决方案会更差):分配比所需大得多的缓冲区,并在一次大量读取中读取所有行。为了安全起见,我会在读取之前对缓冲区进行零填充,并比分配的字节少读取一个字节。 “read”将返回确切的字节数,除非返回了 read() 中请求的所有字节,这表明您猜错了并溢出了缓冲区。您准确读取它并且没有更多字节的可能性非常低。

关于c - 从 C 语言的电话簿代码的文本文件中读取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59492083/

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