Use:
convertToString(filename, sourceStr);
and pass sourceStr.
You are right about how much boilerplate there is - though you can hide it a bit with helper fns and a few macros.