连接 C++ 中 3 个或更多元素的字符串(字符串[i]+字符串[i+1]+字符串[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 将返回 h,concatenateHolder2 将返回 h3。
编辑:我想我可能已经找到了我在下面发布的解决方案!也感谢弗雷德的子字符串方法。我很可能会使用它。
我想
我可能已经找到了我的问题的解决方案。有关更多信息,msgASCII,conHolder和concatenateHolder都是字符串类型。
一个解决方案是Fred Larson所说的,使用std::string::substr。我想我可能会这样做,因为这似乎很方便。
我发现但尚未测试的另一种方法是将第一个值 [0] 乘以 100,第二个 [1] 乘以 10,第三个 [2] 乘以 1(或根本不需要乘以),然后将它们加在一起。我还没有尝试过这段代码,但我认为它应该可以工作!