(я использую библиотеку libmicrohttpd )
Const char *, как это работает просто отлично:
const char *page = "Hello World";
MHD_create_response_from_buffer(strlen(page), (void*)page, MHD_RESPMEM_PERSISTENT);
Но присвоение строки const char * выведет на клиента странную строку:
std::string str = "Hello World";
const char *page = str.c_str();
MHD_create_response_from_buffer(strlen(page), (void*)page, MHD_RESPMEM_PERSISTENT);
или
std::string str = "Hello World";
MHD_create_response_from_buffer(strlen(page.c_str()), &page[0], MHD_RESPMEM_PERSISTENT);
Вывод второго и третьего фрагментов кода на клиенте - «ججججججججججج». Не «Hello World».
Почему?