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

Concatenating Strings for 3 or More Elements in C++ (string[i]+string[i+1]+string[i+2])

我很难学习如何将字符串与 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 =“083”,以便稍后可以将其转回 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 会 return h 而 concatenateHolder2 会 return h3.

编辑:我想我可能已经找到了我在下面发布的解决方案!还要感谢 Fred 的子字符串方法。我很可能会改用它。

我想我可能找到了解决问题的方法。不过,有关更多信息,msgASCII、conHolder 和 concatenateHolders 都是字符串类型。

Fred Larson 所说的一种解决方案是使用 std::string::substr。我想我可能会接受它,因为它看起来很方便。

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