Фильтрация цифр с помощью sscanf

Тема в разделе "LANGS.C", создана пользователем KingT, 12 фев 2009.

  1. KingT

    KingT Member

    Публикаций:
    0
    Регистрация:
    12 янв 2006
    Сообщения:
    208
    Проблема такая.Есть строка вида : symbols numbers symbols numbers...
    symbols это все возможные коды ASCII кроме цифр и десятичной точки.а numbers это соответственно цифры и десятичная точка.Необходимо отфильтровать цифры с помощью sscanf.
    sscanf числа фильтрует нормально, проблема со строками.По дефлту символы беруться до первого пробела но если я укажу например %s[a-z] то будут браться символы до первого котого нет в скобках.Так мне чтоб в строку кинуть все кроме цифр и десятичной точки надо все указать в скобках?Как поступить?
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    boost::tokenizer?
     
  3. KingT

    KingT Member

    Публикаций:
    0
    Регистрация:
    12 янв 2006
    Сообщения:
    208
    У меня Visual Studio 6.0 там нет такого.
     
  4. Forever

    Forever Виталий

    Публикаций:
    0
    Регистрация:
    12 апр 2008
    Сообщения:
    244
    Если после [] ты укажешь символ ^, то будут считаны все, кроме указанных в скобках. Почитай подробнее здесь :
    http://www.codenet.ru/progr/cpp/sprd/scanf.php
     
  5. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Только в строке формата указывать надо не %s[a-z] а просто %[a-z].
    Всё кроме цифр это %[^0-9]
     
  6. KingT

    KingT Member

    Публикаций:
    0
    Регистрация:
    12 янв 2006
    Сообщения:
    208
    Спасибо, все работает.