You posted the result of a 'dump' of card data. Is that the same as what you get when just doing a normal read of the card? If not, what does that transmission look like?
In the meantime, you may find the AVR string library interesting reading. It's a collection of functions for doing all sorts of things with/to string arrays.