字符串流加一个额外的零
stringstream adding an extra zero
我面临以下代码的问题。
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();
相关文章:
- 为什么 sscanf 无法从一个字符串中读取uint64_t和字符?
- 如何检查一个c++字符串中有多少相同的字符/数字
- 获取用C/C++打印的最后一个字符串
- cin >> int 给定一个字符串将 int 赋值为 0
- 我如何通过引用将 c++ 字符串分配给另一个字符串
- 使用另一个字符串从字符串中删除空格
- 有没有办法使用 strcpy 将字符串数组复制到另一个字符串或其他数组中?
- 当分配一个字符串值并稍后通过分配另一个值进行更改时C++如何管理内存?
- 我已经建立了递归关系,它找到了两个字符串之间最长的连续公共字符串,我怎么能跳过其中一个字符串中的一个字符
- C++为 void 指针分配一个字符串
- 如何在使用 getch 后在另一个字符串的末尾连接一个字符串
- 给定一个单词数组和一个字符串,如何计算给定字符串中的所有单词
- 如何在另一个字符串的x位置插入一个字符串?
- 有没有办法我可以在 C++ 中使用 if 语句来说明如果一个字符串不是两个名称的 eqal,它会给出一个输出,ATM i
- 在另一个字符串中插入文件扩展名之前的字符串
- 我有一个返回字符串向量的函数.它需要两个字符串,并且返回一个字符串中缺少的字符串
- C++自定义流操纵器,用于更改流上的下一个字符串
- 从类返回一个字符串 — 奇怪的行为
- 从我的2d数组中的一列返回的字符串值被压缩为一个字符串(在Mac os上打开Windows txt文件)
- 你能从"volatile const char*"构造一个字符串吗?(不使用`const_cast`