gpt4 book ai didi

c++ - 输入大字符串的最快方法?

转载 作者:行者123 更新时间:2023-11-28 07:32:20 30 4
gpt4 key购买 nike

我必须从 stdin 读取大量的字符串,所以时间是一个关键问题。字符串在连续的行上并且没有空格,所以我可以简单地使用 while(cin>>str) {//code } 但这非常慢。我听说 scanf 比 cin 快得多,但如果我使用 scanf("%s,str) 我认为 str 被视为 char* 而不是 C++ string 所以我不能使用 STL。我可以将输入作为 char* 并将所有字符复制到 C++ 字符串中,但 IMO 也会很慢。

有没有一种方法可以使用 scanf 或其他方法获取输入,但结果仍然是 C++ 字符串?

最佳答案

如果您知道文本的平均或最大大小,您可以创建具有预分配大小的 std::string。占用大量时间的一个区域是 std::string 的内存(重新)分配。

关于c++ - 输入大字符串的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17412091/

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