That's the way some programs work to avoid file system limitations.
If 256 subdirectories are not enough we could use a bigger number.
In order to make file loading as fast as possible we have to think in a map function that equally distributes covers in the 256 subdirectories. I can think of "id mod_of_256" (id % 256). Btw, does % operator exist in C?