如果有任何内置函数,有没有办法在不使用任何循环的情况下添加两个字符串?
即如果第一个字符串可以说," 1234"第二个是" 0010" (两者总是长度相同),我可以将它们添加到" 1244"不使用循环?
问题中的问题:如果长度不相同怎么办?
PS:长度不一样我的意思是: 即如果是字符串A;其中A的长度为4,值为:' 1',' 12',' 12',' 10' ans string b;其中b是" 1234",然后通过添加我想要' 2',' 14',' 15',' 14&# 39 ;.结果的长度也是4,但注意加法,按索引计算。
答案 0 :(得分:1)
是的,请看下面的代码:
std::string A("123"), B("321");
int res = std::stoi(A) + std::stoi(B);
答案 1 :(得分:1)
在C ++ 11或更高版本中:
std::string result = std::to_string(std::stoi(s1) + std::stoi(s2));
从历史上看,你必须使用像strtol
这样狡猾的C库函数或字符串流来处理,如果字符串可能不包含数字,请记住检查结果。
答案 2 :(得分:0)
试试这个:
std::string s1 = "1234";
std::string s2 = "0010";
int s = atoi(s1.c_str()) + atoi(s2.c_str());
std::stringstream ss;
ss << s;
cout << ss.str() << endl;
答案 3 :(得分:0)
int
- &gt; atoi
string
- &gt; itoa
浮动,加倍。