c++ - 为什么我会从这个字符串到字符转换中获得随机输出?
问题描述
我只是想将字符串转换为 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 ;
}
在我的项目中,我运行相同的行,但在事件处理程序中:
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;
}
所以我必须在我的 GUI 上按下一个按钮才能发生这种情况,但它真的不应该改变任何东西(我对将 wxWidget 标签放在这里持怀疑态度)。
有人知道吗?
解决方案
推荐阅读
- spring-boot - LettuceConnectionFactory对redis和springboot是否有版本限制?
- javascript - 切换最近的 div 位置
- android - 如何在 Android 上使用 OpenCV 中的 WLSDisparityFilter 和 ximgproc?
- android - RecycleView 在底部得到削减
- c++ - 循环中的随机函数
- c++ - C++ 解引用指针。为什么会发生这种变化?
- android - 如何有意图地在whatsapp中打开特定号码的对话
- java - freeMemory() 和 totalMemory() 的区别
- php - PHP APC:缓存被进程锁定,只能同步工作
- css - 单元格中的CSS网格响应图像