Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mappy89
2 / 2 / 0
Регистрация: 16.10.2011
Сообщений: 179
#1

вырезать числа из строки - C++

19.02.2013, 14:17. Просмотров 463. Ответов 3
Метки нет (Все метки)

Доброго времени суток!

По rs-232 с контроллера присылается строка вида "a1111b2222c3333d4444y"

Каждому a,b,c,d соответсвует число (1111, 2222 для примера), количество цифр такого числа заранее неизвестно, как и порядок a,b,c,d, точно извесно, что y - завершение строки

Помогите, пожалуйста, вырезать эти числа из строки, совсем забыл как работать со строками )
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2013, 14:17     вырезать числа из строки
Посмотрите здесь:

вырезать цифру из числа C++
C++ Сформировать две строки - первая содержит только числа из исходной строки, а вторая – только слова
Как можно вырезать числа в массиве? C++
C++ Вырезать из матрицы отдельные цифры
C++ Ввести строку текста (содержащую как слова так и числа), вывести все числа из данной строки
Сформировать строку, считая числа начальной строки соответствующими ASCII-кодами символов результирующей строки C++
Вырезать куски массива C++
C++ Из строки вырезать слова, стоящие на четном месте
Вырезать из строки слова C++
C++ C/C++ вырезать часть данных с файла
Регулярные выражения, вырезать точку из строки C++
Вырезать символ из строки, регулярное выражение C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ITcrusader
Эксперт C++
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
19.02.2013, 15:22     вырезать числа из строки #2
Ну вот, мб подойдет? Модифицируешь еще, если чо:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <algorithm>
#include <iostream>
 
class isNumber
{
public:
    bool operator()(char arg)
    {
        return ( arg >= '0' && arg < '9' ) ? true : false;
    }
};
 
int main()
{
    char inputStr[] = "a1111b2222c3333d4444y";
    size_t len = sizeof(inputStr) / sizeof(char);
 
    std:: remove_if(inputStr, inputStr + len, isNumber());
    
    return 0;
}
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
19.02.2013, 17:57     вырезать числа из строки #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
char *restr(char str[]){
    char buf[1000];
    int i=0,j=0;
    while(str[i]!='y')
        if(str[i]<'0'&&str[i]>'9')
            buf[j++]=str[i++];
    buf[j++]=str[i];//присваиваем 'y' в конец, если не нужен можно убратьж
    char *str1=new char[j];
    for(i=0;i<j;i++)
        str[i]=buf[i];
    str[i]='\0';
    return str;
}
 
void main(){
    char str[]="a1111b2222c3333d4444y";
    char *str1=restr(str);
    cout<<str<<endl<<str1<<endl;
    delete[] str1;
    system("pause");
}
mappy89
2 / 2 / 0
Регистрация: 16.10.2011
Сообщений: 179
19.02.2013, 18:33  [ТС]     вырезать числа из строки #4
Всем спасибо!
Yandex
Объявления
19.02.2013, 18:33     вырезать числа из строки
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru