gpt4 book ai didi

c++ - 高效获取数据的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:10:59 24 4
gpt4 key购买 nike

我有一个我创建的二进制文件。其中,数据以二进制形式存储,但我将以人类可读的形式显示它;

[someOtherData]opalgo$apollo$[someOtherData]
^
^
^
file pointer

我想在 temp_S 中保存数据“opalgo”,它被声明为字符串。注意,示例中没有显示,我不知道这个地方是什么数据及其长度。

将数据驻留在二进制文件中;

  • 首先,我通过递增文件指针来计算它的长度,并且每次都与“$”进行比较。
  • 其次,我按数据长度返回,对于这种情况|opalgo| = 6.
  • 第三,每次,我取一个字符并将其与字符串连接,字符串用 ""初始化。即 string += temp_Char ;

当然在我看来,上面的算法很乱。我找不到从二进制文件中获取数据的有效方法。现在,我有点惭愧。你能给我一个更好的方法吗?

编辑:我不知道文件大小,但如您所知,我可以使用 seekg 和 tellg 进行计算。

最佳答案

与其分三步完成,还可以全部在第一步完成:在寻找终止符“$”时,只需将字符放入 temp_S。无需计算长度。

std::ifstream input(...);

std::string temp_S;
char c;
while (input.get(c))
{
if (c == '$')
break; // Found terminator, read no more into string
temp_S += c;
}

关于c++ - 高效获取数据的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8095143/

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