Извлечь число из строки - PullRequest
       0

Извлечь число из строки

0 голосов
/ 15 августа 2011

Я Java-программист и совершенно новичок в Visual C ++.Я хочу извлечь два целых числа из CString, как показано ниже.

Сегменты: от [1 входной секции] до [10 RC осевой изгиб]

Я хочу извлечь номер.1 и 10 от строки и их позиции всегда будут после «[», но буквы в строке могут отличаться.

Могу ли я использовать регулярные выражения?Я обнаружил, что мне нужна библиотека типа "Boost", чтобы использовать регулярные выражения.Есть ли более простой способ, чем использовать библиотеку для этого?Пожалуйста, дайте мне ваши идеи.

Большое спасибо.

1 Ответ

1 голос
/ 15 августа 2011

Возможно, вы можете использовать strtok для токенизации строки, а затем использовать atoi для получения чисел из токенов

Edit:

Это очень просто и не проверяет ошибки.

void getNumbers(CString inputString, int & number1, int & number2)
{
    char tempBuf[300];
    strcpy(tempBuf, inputString.GetBuffer());
    char * startString = strtok(tempBuf,"[");
    char * num1String = strtok(NULL,"[");
    char * num2String = strtok(NULL ,"[");
    number1 = atoi(num1String);
    number2 = atoi(num2String);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...