there are 26 cards in a deck, so generate a list of 26 unique but random numbers. Then if you have a list of cards, just pick them out in the order of the random numbers previously generated. It would be a lot easier to use an vector or list of 2-char strings instead of putting them into all one string.
To remove the first card just erase the first string in the vector or list, then suffle the strings that remain in the vector.