What you've described is not really a unit test, and so CppUnit alone is probably not your best choice.
It looks like you're trying to do three independent things, but have combined them all together to do them at one time. You want to run unit tests, you want to generate test data, and you want to verify the program works with the generated data, and you're attempting to do it all within a single unit test framework. But because it's doing so much, you're finding it hard to reuse.
Consider simplifying it into three total testing apps: a CppUnit test suite that only executes your unit tests (and these tests should have nothing to do with files of test data); a test data generator; and a transformation tester. Every time you build you should run the automated unit tests. When you run the data generator, you should automate the execution of the tester on the data it outputted to ensure you've generated good data. Then you can deliver the known tested data and the tester app to your clients.