char *p = str.c_str();
で良くないの?