gpt4 book ai didi

c++ - stringstream 添加一个额外的零

转载 作者:行者123 更新时间:2023-11-30 03:55:17 25 4
gpt4 key购买 nike

我遇到了以下代码的问题。

short int decrypted0[] = {0,2};
string message = "22";
string string0 ="";

for(i=0;i<message.size();i++)
{
ss<<decrypted0[i];
string0+=ss.str();
}

为什么在第二次迭代后 string0 的值是 "002" 而不是 "02"

我尝试使用 VS 和 Qt,结果相同。

最佳答案

std::stringstream::str() 不会清空流,它更像是当前内部结构的快照。清除其内部缓冲区使用 ss.str("")

这意味着您的循环在第一次迭代后给出:

    ss.str() == "0"
string0 == "0"

然后在第二次迭代之后你得到:

    ss.str() == "02"
string0 == "002"

这样做会容易得多:

    for(i=0;i<message.size();i++)
ss<<decrypted0[i];
string0 = ss.str();

关于c++ - stringstream 添加一个额外的零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29154234/

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