Я ищу функцию, которая проверяет, является ли строка следующим образом (спички точно) структура данных, указанных дополнительными аргументами, соответствующих format
строки Как это:Существует ли какая-то реализация 'strcmpf'?
/* int strcmpf (char *str1, char *format, ...); */
char *test = "Hello World !"
if(!strcmpf(test, "%s%*s %c", "Hello ", '!')
return HELLO_HAS_BEEN_SAID;
else
return PROGRAM_ISNT_POLITE;
Реализация этого самого я полагаю, будет очень сложно, но такая функция может быть очень полезна для семантического анализа содержимого. Прежде чем я попытаюсь написать такую функцию самостоятельно, мне нужно знать, есть ли уже библиотека или фрагмент кода, который обеспечивает реализацию такой функции?
Чтобы быть более конкретным, мне нужно поведение, соответствующее шаблону. Таким образом, test
должен точно соответствовать шаблону, заданному данными, соответствующими параметру format
.
Реализация такой функции очень проста, просто используйте ['vsnprintf'] (http://en.cppreference.com/w/c/io/vfprintf) для форматирования, а затем вызовите' strcmp'. –
@JoachimPileborg Совершенно верно, но если мне нужно поместить его в функцию по вызову 'strcmp()' мне все равно нужно предоставить переменные аргументы для функции. Что не «очень просто» для всех, вы не согласны? Кажется, что это практически не подходит для меня ... – Malina
@JoachimPileborg: Что теперь? Откуда «мир» появился в вашем предлагаемом решении? –