En ce moment je cherche une version réentrante de wcstok()
qui est connue par GCC et d'autres compilateurs (s'il y en a).Plateforme X réentrante wcstok()?
Jusqu'ici j'utilise wcstok_s()
mais celui-ci est MSVC seulement et je dois aussi compiler le code sur d'autres plateformes. Alors que certaines pages suggèrent wcstok_r()
je ne pouvais pas le trouver dans mes en-têtes GCC. D'autres pages (man) mentionnent strtok_s()
sans une version de char large spécifique mais mentionnent qu'il est dit être utilisé pour les chaînes multi-octets seulement (?).
Donc, je suis ouvert aux suggestions. Ecrire mon propre wrapper/version serait une solution de dernier recours seulement.
Modifier pour aschepler: Exemple de code qui ne compile pas en raison de too many arguments
- doit compiler en dépit d'être inutile:
#include <cwchar> // includes wchar.h as well
int main(void)
{
wchar_t *a, *b, *c;
wcstok(a, b, &c);
return 0;
}
Ajouté une solution de contournement maintenant pour résoudre ce problème - semble que C89 définit un wcstok 2 paramètres et le paramètre 3 a été ajouté quelque temps plus tard dans les années 90 ... globalement très confus, surtout parce qu'il est incohérent dans GCC . – Mario