Problème appel str_sub : type de retour
Bonjour à tous,
Je souhaite utiliser la fonction str_sub décrite ici http://nicolasj.developpez.com/articles/libc/string/
char *str_sub (const char *s, unsigned int start, unsigned int end)
Pour cela, je fais :
Code:
1 2 3
|
char * var= NULL;
var = str_sub("chaine", 3, 5); |
Malheureusement, cela ne compile pas, et me donne l'erreur suivante :
Citation:
Erreur 12 error C2040: 'str_sub' : 'char *(const char *,unsigned int,unsigned int)' differs in levels of indirection from 'int ()'
Le plus étrange, c'est que si je créée une fonction du genre :
Code:
1 2 3 4
| int test(const char *s, unsigned int start, unsigned int end)
{
return 42;
} |
et que je l'appelle comme ceci :
Code:
1 2
| char * var= NULL;
var = test("chaine", 3, 5); |
Cela compile, comme si ma variable var était un int!
En revanche, si j'essaye d'appeler strstr, censée retouner un char *, comme ceci:
Code:
1 2 3
|
char * var= NULL;
var = strstr("chaine","ai"); |
Cela compile également!
Où est mon erreur dans l'appel de str_sub?
Merci par avance