如何获取字符串的一部分

Jat*_*tin 0 c c++ string

如何获取字符串的一部分.

例如,字符串是:

输入字符串:"53 56 4B 00 00 41 41 2F 41 54 43 43 54 52 31 2E 41 54 31 2E 4E 37 38"

               |                                        |
              ptr1                                     ptr2  
Run Code Online (Sandbox Code Playgroud)

ptr1 它总是从左到右从第7位开始

ptr2 从右到左,它总是处于第13位

输出字符串:

4B 00 00 41 41 2F 41 54 43 43 54 52 31 2E 41 54 31
Run Code Online (Sandbox Code Playgroud)

Mar*_*som 5

如果你已经有了指针,这很简单.使用带有指针和长度的std::string构造函数.

std::string result(ptr1, ptr2 - ptr1);
Run Code Online (Sandbox Code Playgroud)

或者如注释中所指出的,因为指针也可以用作迭代器,所以你可以使用双迭代器构造函数:

std::string result(ptr1, ptr2);
Run Code Online (Sandbox Code Playgroud)