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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
char * var= NULL;
var = str_sub("chaine", 3, 5);
Malheureusement, cela ne compile pas, et me donne l'erreur suivante :
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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