您可以使用组合strncpy()
来提取字符范围并将atoi()
其转换为整数(或者阅读此问题以获取将字符串转换为int的更多方法).
int extract(char *input, int from, int length) {
char temp[length+1] = { 0 };
strncpy(temp, input+from, length);
return atoi(temp);
}
int main() {
char input[11] = {'0','2','7','-','1','1','2','0','0','9','5'};
cout << "Heading: " << extract(input, 0, 3) << endl;
cout << "Pitch: " << extract(input, 3, 4) << endl;
cout << "Roll: " << extract(input, 7, 4) << endl;
}
Run Code Online (Sandbox Code Playgroud)
输出
Heading: 27
Pitch: -112
Roll: 95
Run Code Online (Sandbox Code Playgroud)