Reading serial data coming from arduino in c++?

ard.ReadData( buf, 256 );

You've told it that it can read up to 256 characters into buf, BUT

char *buf = "0";

buf points to a string containing only one character and the null on the end.

Pete