在C ++中连接3个或更多元素的字符串(string [i] + string [i + 1] + string [i + 2])

时间:2015-01-27 21:59:07

标签: c++ string concatenation gmp

我很难学习如何将字符串与3个或更多元素连接起来。这是我现在正在处理的代码:

string msgASCII, conHolder;    
for (int i = 0; i < msgASCII.length(); i = i + 3) { 
        conHolder = msgASCII[i] + msgASCII[i+1] + msgASCII[i+2];    

这段代码似乎没有按照惯例运作。我试图做的是使conHolder =我的字符串msgASCII的前三个元素。因此,如果msgASCII = 083097109(对于ASCII中的SAM),那么我想使conHolder =&#34; 083&#34;所以我可以稍后将其转回char。

我也试过这样做:

for (int i = 0; i < msgASCII.length(); i = i + 3) { 
        concatenateHolder = msgASCII[i] + msgASCII[i+1] + msgASCII[i+2];
        concatenateHolder2 = concatenateHolder + msgASCII[i+2];

但是concatenateHolder将返回h并且concatenateHolder2将返回h3。

编辑:我想我可能找到了一个我在下面发布的解决方案!还要感谢Fred的substring方法。我很可能会使用它。

1 个答案:

答案 0 :(得分:1)

我想我可能已经找到了解决问题的方法。但是,对于更多信息,msgASCII,conHolder和concatenateHolders都是字符串类型。

Fred Larson所说的一个解决方案就是使用std :: string :: substr。我想我可能会这样做,因为这似乎非常方便。

我发现但尚未测试的另一种方法是将第一个值[0]乘以100,将第二个[1]乘以10,将第三个[2]乘以1(或者根本不需要乘以) ,然后将它们一起添加。我还没有尝试过这个代码,但我认为它应该可行!