>>66じゃないけど、
> memset
int count[26] = {0};
のほうが読みやすい

> strlen
計った事無いから分からないけど(最適化されそうだし)
C99かC++なら
for (int i = 0, length = strlen(buf); i < length;...
のほうがいいかと