我使用to_string函数将一个整数附加到字符串1,它按预期工作,但未使用to_string函数完成相同任务,答案与上一个案例不同,逻辑上似乎正确,但实际上它是如何工作的,我无法得到它?
具体来说,在不使用to_string()函数的情况下,如何将整数附加到字符串中?
int main()
{
int a[] = {13, 13};
string str1, str1Image;
string str2, str2Image;
str1 = str2 = "";
str1 += a[0]; //---------1
str1 += a[1];
str1Image = str1;
reverse(str1.begin(), str1.end());
if(str1 == str1Image)
cout << "Both str1 and str1Image are same" << endl;
else
cout << "Not same" << endl;
str2 += to_string(a[0]);
str2 += to_string(a[1]);
str2Image = str2;
reverse(str2.begin(), str2.end());
if(str2 == str2Image)
cout << "Both str2 and str2Image are same" << endl;
else
cout << "Not same" << endl; // here str2 = 3131, str2Image = 1313
}
4条答案
按热度按时间ozxc1zmp1#
str1 += 13
将值为13
的字符附加到字符串。该字符前后两次相同。在许多系统中,13
是回车符。str2 += std::to_string(13);
将文本"13"
添加到字符串中。前后两次添加的文本不相同。4c8rllxm2#
使用
std::stringstream
:pieyvz9o3#
std::string
的operator+=
在给定整数时向字符串追加字符。示例:
输出:
disbfnqx4#
这些声明
如果在字符串中看不到数字13时输出结果字符串,则将使用内部代码表示形式13追加两个字符。
如果要写就不一样了
或
此代码片段
作品输出
因为字符串中存储了什么字符并不重要。
代码
13
表示回车符。