Форум — Development как из указателя получить значение? c++, char, типы данных 0 3 функция возвращает: xmlChar *f; нужно преобразовать в строку std::string new_f(f); как это сделать? Ссылка
Ответ на: комментарий от Kronick 12.12.17 11:17:14 MSK Ошибка: Invalid conversion from 'unsigned char' to 'const char *' sniper21 ★★★★★ (12.12.17 11:19:30 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от sniper21 12.12.17 11:19:30 MSK std::string new_f = *f? Kronick (12.12.17 11:22:15 MSK) Показать ответ Ссылка
Ответ на: комментарий от hateyoufeel 12.12.17 11:20:55 MSK Как я это понимаю - это просто переопределение char * в libxml2 sniper21 ★★★★★ (12.12.17 11:22:42 MSK) автор топика Последнее исправление: sniper21 12.12.17 11:23:17 MSK (всего исправлений: 1) Показать ответ Ссылка
Типичные сишные проблемы. Каждая библиотека имеет свой тип строк.Я погуглил за тебя чувак. Первая строка выдачи: https://stackoverflow.com/questions/17746688/convert-unsigned-char-to-stringНа выбор: std::string new_f(reinterpret_cast<char*>(f));std::string new_f((char*) f); anonymous (12.12.17 11:23:18 MSK) Показать ответ Ссылка
Ответ на: комментарий от anonymous 12.12.17 11:23:18 MSK Я это тоже гугли, аноним, но не понял что это reinterpret_cast<char*> и закрыл :) sniper21 ★★★★★ (12.12.17 11:24:19 MSK) автор топика Ссылка
Ответ на: комментарий от Kronick 12.12.17 11:22:15 MSK Тут не нужно никакого разыменования. Просто каст из xmlChar* в char*. Ivan_qrt ★★★★★ (12.12.17 11:24:33 MSK) Ссылка
Почему вот это работает std::string new_f((char *)f); а это std::string new_f((xmlChar *)f); нет??? sniper21 ★★★★★ (12.12.17 11:28:08 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от sniper21 12.12.17 11:28:08 MSK Потому что у std::string нет конструктора для xmlChar *. Ivan_qrt ★★★★★ (12.12.17 11:29:13 MSK) Ссылка
Ответ на: комментарий от sniper21 12.12.17 11:22:42 MSK Не char*, а unsigned char*, поэтому и нужен каст. anonymous (12.12.17 11:34:25 MSK) Ссылка