Требуется стандартная библиотечная функция strspn
:
strspn(str, " *(12axb") == strlen(str);
Он будет считать символы в str
, пока не увидит первый, который не является одним из символов во втором аргументе. Таким образом, если он не найдет несовпадающих символов, он вернет длину строки.
Более быстрый способ написать то же самое, хотя, возможно, и менее понятный, это проверить \0
вместо вызова strlen
:
str[strspn(str, " *(12axb")] == '\0';