Je ne peux pas pourquoi le bit suivant du code C ne fonctionne pas:problème avec strchr
int obtainStringLength(char* str, char c1, char c2) {
char* firstOcurrence = strchr(str, c1);
char* endOcurrence = strchr(str, c2);
return 2+(endOcurrence - firstOcurrence)/sizeof(char*);
}
L'idée est de trouver le nombre de caractères entre c1
et c2
:
printf("%d\n", obtainStringLength("abc def ghi", 'a', 'i')); //should yield 11
Malheureusement, cette impression est toujours 1. Quel est le problème? Est-ce que strchr
ne devrait pas fonctionner comme string.IndexOf()
de C#?
Vous avez un compilateur très étrange :) 'toujours l'impression 1' ???? – pmg