gpt4 book ai didi

c++ - 有没有比 getchar() (C/C++) 更快地读取字符串的方法?

转载 作者:太空狗 更新时间:2023-10-29 20:29:48 28 4
gpt4 key购买 nike

我正在参加一些编程比赛,在很多问题上都需要从输入文件中读取字符串。显然,性能是这些比赛的一个大问题,字符串可能很大,所以我试图了解读取这些字符串的最有效方法。

我的猜测是,使用 getchar() 一个字符一个字符地读取字符串是最快的。这是因为即使您使用其他函数,比如 fgets() 或 getline(),这些函数仍然需要读取每个字符。

更新:我知道 I/O 不会成为大多数算法问题的瓶颈。话虽这么说,我仍然非常想知道您可以用来读取字符串的最快方法是什么,这是否会成为 future 任何问题的一个问题。

最佳答案

您可以使用 std::istream::read() 函数来读取一大块未格式化的数据。它相对更快,正是因为数据未格式化operator>> 的所有重载> 都读取格式化 数据,与read() 相比,这使得从流中读取速度较慢。

同样,您可以使用 std::ostream::write() 函数一次将一大块数据写入输出流。

关于c++ - 有没有比 getchar() (C/C++) 更快地读取字符串的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8952395/

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