Pourquoi ne pas utiliser les expressions régulières?
regcomp et regexec devrait t'aider je pense.
(la fonction qui suit n'a pas été vérifiée)
#include <regex.h>
...
bool regexMatch(const char* mot1 , const char* mot2 , const int options )
{
int status;
regex_t result;
if ( regcomp(&result, mot1, options ) != 0 )
return false;
status = regexec(&result, mot2, (size_t) 0, NULL, 0);
regfree(&result);
if (status != 0)
return false;
return true;
}
Dans "status = regexec(&result, mot2, (size_t) 0, NULL, 0);" tu peux remplacer les 3 derniers arguments par des valeurs non-nulles pour savoir où regexec a trouvé le mot1 dans mot2 (
http://www.mkssoftware.com/docs/man3/regexec.3.asp)