Вы можете использовать комбинацию strncpy()
для извлечения диапазона символов и atoi()
для преобразования его в целое число (или прочитайте этот вопрос для получения дополнительных способов преобразования строки в целое число).
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;
}
Выходы
Heading: 27
Pitch: -112
Roll: 95
http://ideone.com/SUutl