debugging functions
use standard snprintf instead of custom sprintf
use a CharacterVector instead of a std::vector for the result type of attributeNames