what happens if you do: > String trial("trial"); > single = trial.utf8().data(); single = strdup(trial.utf8().data()) > std:: cout << "trial is " << trial.utf8().data() << std::endl; > std:: cout << "single is " << single << std::endl; free(single); ? --Antonio