我很难学习如何将字符串与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方法。我很可能会使用它。
答案 0 :(得分:1)
我想我可能已经找到了解决问题的方法。但是,对于更多信息,msgASCII,conHolder和concatenateHolders都是字符串类型。
Fred Larson所说的一个解决方案就是使用std :: string :: substr。我想我可能会这样做,因为这似乎非常方便。
我发现但尚未测试的另一种方法是将第一个值[0]乘以100,将第二个[1]乘以10,将第三个[2]乘以1(或者根本不需要乘以) ,然后将它们一起添加。我还没有尝试过这个代码,但我认为它应该可行!