Я просто пытаюсь выполнить преобразование строки в char (точнее, char *), но безо всякой причины я получаю разные результаты, если я запускаю код в codeBlocks или в моем проекте.Поэтому на codeBlocks я запускаю это:
#include <iostream>
#include <string>
using namespace std;
int main()
{
std::string stlstring = "abc";
std::cout << stlstring << std::endl;
char* writable = new char[stlstring.size() + 1];
std::copy(stlstring.begin(), stlstring.end(), writable);
writable[stlstring.size()] = '\n';
std::cout << writable ;
}
Я получил такой вывод: ![enter image description here](https://i.stack.imgur.com/OQZED.png)
И в моем проекте я запускаю те же строки, но вобработчик события:
void RePROGUIUser::applyOptions(wxCommandEvent& event) {
std::string stlstring = "abc";
std::cout << stlstring << std::endl;
char* writable = new char[stlstring.size() + 1];
std::copy(stlstring.begin(), stlstring.end(), writable);
writable[stlstring.size()] = '\n';
std::cout << writable;
}
Вывод: ![enter image description here](https://i.stack.imgur.com/pomI0.png)
Так что я должен нажать кнопку на моем графическом интерфейсе, чтобы это произошло, но это действительно не должно изменитьсячто-нибудь (и я скептически относился к тегу wxWidget здесь).
Есть идеи у кого-нибудь?