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

标签 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 =“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。

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

最佳答案

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

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

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

关于c++ - 在 C++ 中连接 3 个或更多元素的字符串 (string[i]+string[i+1]+string[i+2]),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28180849/

相关文章:

c++:访问父类的成员

java - 在字符串中查找姐妹括号

regex - Scala:字符串模式匹配和拆分

audio - 添加背景音频后的ffmpeg问题

c++ - GtkTextBuffer 的问题,令人困惑的运行时错误。需要帮忙?

C++ - 错误 C2568 - 表达式必须具有整数或无作用域的枚举类型

c++ - 如何使用插件 CDT 在 Eclipse 中为 Java 开发人员配置 opencv?

r - 计算子字符串中特定字符的数量

linux - 在不同目录中连接同名文件的更快方法

MYSQL 在数据库中使用 CONCAT 和 SUBSTRING 以及 http 和 https URLS