В настоящее время я следую книге C, и я не могу решить одно упражнение. Учитывая, что я трачу более 1 дня на данный момент, мне нужна помощь/идеи.Как я могу получить часть строки с помощью функции sscanf()?
«Предположим, что ул является строка, которая содержит„продаж звание“сразу предшествует символ # (другие символы могут предшествовать # и/или следовать ранг продаж). Продаж ранга серия десятичных цифр возможно содержащие запятых, например, следующие примеры:
989 24,675 1,162,620
Написать вызов sscanf, который извлекает ранг продаж (но не # символ) и сохраняет его в переменной строку с именем sales_rank «.
То, что я понимаю, что это необходимо:
, например, если мы имеем:
char *str = "ana are mer2,1#3lala";
sales_ranks должно быть: "2,1"
в случае:
char *str = "ana ar#e mer2,1a3lala";
sales_ranks - пустая строка.
Я нашел здесь (http://cboard.cprogramming.com/c-programming/149330-getting-part-string-sscanf.html) несколько полезных сведений, но это неправильное решение. Они интерпретировали упражнение в неправильном подходе, как это:
char *str = "ana are mer2,1#3lala";
sales_ranks является «3», который в порядке, но не то, что по просьбе автора: «продаж ранга» непосредственно предшествует символ #
EDITED :
Я неправильно понял, кто кому предшествует. : | (Таким образом, решение подвергается в ссылке ОК)
На самом деле я провожу все это время, чтобы найти решение для такого рода шаблон: «{десятичного} #» :)
но можно и так? Я имею в виду, если это возможно, что: символ # немедленно предшествует «продажи ранга»
Я думаю, что если ранжированию продаж сразу предшествует символ #, то в «2,1 # 3» ранга продаж 3 – Jack
Yup, если рангу предшествует #, это означает, что рейтинг продаж появляется после # , не раньше, чем. – teppic
hmmm Итак, я неправильно понял, что шаблон должен быть « #». На самом деле это должно быть «# »:? –
valicfu