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

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

Войти
Регистрация
Восстановить пароль
 
iwsyhgia
1 / 1 / 0
Регистрация: 11.01.2014
Сообщений: 51
#1

Неверная работа sscanf - C++

07.03.2014, 00:42. Просмотров 257. Ответов 1
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void mul(long long a[], int y, int p, char *input) {
    memset(a, 0, sizeof(int)*11112);
    char temp[10];
    int i = strlen(input), j = 0, k;
    while (i != 0) {
        //memset(temp, 0, sizeof(char)*10);
        k = i - 9 < 0 ? i : 9;
        i = i - 9 < 0 ? 0 : i - 9;
        sscanf(input + i, "%*s", k, temp); //а вот так работает sscanf(input + i, "%5s", temp);
        a[j++] = atoi(temp);
    }
    for (int i = 0; i < j; ++i)
        printf("%d ", a + i);
}
Проблема в том, что sscanf не хочет считывать заданной количество символов используя "*"? Почему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2014, 00:42     Неверная работа sscanf
Посмотрите здесь:

Работа sscanf - C++
Мне нужно распарсить файл с такими строками: Element1\tElement2\tElement3\tElement4\tElement5\n ...

Работа функции sscanf - C++
Есть у меня функция, написанная ниже. Она работает, но возникает вопрос: как функция sscanf умудряется записать в интовую переменную всю...

Sscanf - C++
Как заставить sscanf парсить строку %s(%d) отдельно, а не все сразу как %s?

sscanf заборохлил - C++
имеется 2 программы. в одной является валидной запись line = &quot;v 1,000000 -1,000000 1,000000&quot;; line = ' '; ...

Ошибка в sscanf - C++
Доброго времени суток. Возникла ошибка в следующем коде: #include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;ctype.h&gt; ...

Не работает sscanf - C++
Пишу загрузчик моделей формата obj. Но очень странно себя ведет функция sscanf_s. Вот снимок экрана, где ясно видно, что sscanf_s выдает не...

Sscanf не реагирует на ввод - C++
проблема такая: printf(&quot;vvod: &quot;); fflush(stdin); sscanf(&quot;%s&quot;,s); что с fflush, что без вообще ничего не воспринимает, то...

Существуют ли аналоги функции sscanf на c++? - C++
Доброго времени суток, при использовании sscanf столкнулся с проблемой: стандартная библиотека слишком велика. Может быть кто-то...

Непонятное поведение sscanf(.., "%lf", ..) - C++
Здравствуйте все! Столкнулся с такой проблемой: читаю строку из трех вещественных чисел - 18.4, 5.05, 1.015; смотрю значение value - а...

Неверная итерация - C++
Привет народ. Объясните пожалуйста, что это за бред? (я подчеркнул)


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,737
07.03.2014, 01:04     Неверная работа sscanf #2
вот что нашел на просторах интернета
Звездочка (*поиск символа процента) отключает назначение следующего поля ввода, интерпретируется как поле указанного типа. Просматриваться но не сохраняется поле.
http://msdn.microsoft.com/ru-ru/library/kwwtf9ch.aspx
Возвращаемая величина равна количеству полей, значения которых действительно были присвоены переменным. В это количество не входят поля, пропущенные из-за использования модификатора команды *
http://www.c-cpp.ru/content/sscanf
*
- знак отключения, или "подавитель" (supressor). Последующее преобразование работает как обычно, но указатель уже не используется. Результат преобразования не учитывается.
http://www.opennet.ru/man.shtml?topi...ry=3&russian=0
Цитата Сообщение от iwsyhgia Посмотреть сообщение
long long a[]
Цитата Сообщение от iwsyhgia Посмотреть сообщение
memset(a, 0, sizeof(int)*11112);
ты уверен что всю память заполняешь?
может лучше
C++
1
memset(a, 0, sizeof(long long)*11112);
Ответ Создать тему
Опции темы

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