小编Dav*_*ard的帖子

std :: string在mySQL连接器查询结果上进行迭代时崩溃

我正在尝试使用mysql connexion从我的数据库中获取std :: string

这是简单的代码:

sql::Statement *stmt = con->createStatement();
sql::ResultSet  *res = stmt->executeQuery("SELECT * FROM test.new_table");
while (res->next()) {  
    std::string somestring = res->getString("idnew_table");
} //crashes here

delete res;
delete stmt;
Run Code Online (Sandbox Code Playgroud)

所以,executeQuery很好,我进入循环,如果我中断,预期的结果是在一些字符串.在somestring声明之后,我继续前进到循环结束,并在下一次迭代之前崩溃!

这是调用堆栈:

>   msvcp100d.dll!std::_Lockit::_Lockit(int kind)  Line 64 + 0x14 bytes C++
    msvcp100d.dll!std::_Container_base12::_Orphan_all()  Line 200   C++
    CM.dll!std::_String_val<char,std::allocator<char> >::~_String_val<char,std::allocator<char> >()  Line 478 + 0xb bytes   C++
    CM.dll!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >()  Line 755 + 0xf bytes   C++
    CM.dll!DAL::GetInfo()  Line 45 + 0xc bytes  C++
Run Code Online (Sandbox Code Playgroud)

输出:

First-chance exception at 0x1038ad4a (msvcp100d.dll) in CMLauncher.exe: 0xC0000005: Access …
Run Code Online (Sandbox Code Playgroud)

c++ mysql string crash std

3
推荐指数
1
解决办法
1725
查看次数

Cocos2d - 一个结束后更改动画

我有一个带有三个动画的CCSprite:空闲,行走和攻击.我想在空闲和步行之间切换,具体取决于精灵是否在移动(如果操纵杆正在使用).所有这一切都很棒.对于攻击动画,我希望它运行一次,然后在完成后返回上一个动画(例如:空闲)如何检测动画何时完成?

谢谢,

戴夫

cocos2d-iphone

2
推荐指数
1
解决办法
4845
查看次数

HTML/CSS - 在img标签上显示文本

我试图左右显示两个图像,包括文本,控件以及我心中想要的任何其他图像.为此,我有以下内容:

<div>
    <div id="leftDiv" style="float:left; width:49%; height:400px; background-color:transparent">
        <div style="position:relative; left:61px; top:100px; width: 319px; z-index:1">This is text</div>
        <div style="position:relative; left:61px; top:100px; width: 319px; z-index:1">This is also text</div>
        <img id="leftImg" alt="Images/redbox.png"
            style="width:100%; height:100%; z-index:-1; right: 1124px; top: 9px;" 
            src="Images/redbox.png" />

    </div>
    <div id="rightDiv" style="float:left; width:49%; height:400px; background-color:transparent">
        <img id="rightImg" src="Images/bluebox.png" alt="Images/bluebox.png" style="width:100%;height:100%; z-index:-1;" />
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

除了一件小事之外,这一切都很棒......左边的div,"redbox.png"总是被我想要的s(或者元素所占据的任何位置)的数量减少.我可以将元素放在图像之后,但是将它们放在我想要的方式更容易,并且在我为框架设置动画时将它们保持在原位.

现在,为什么我使用图像而不是background-img?好吧,我希望图像<div>自动调整到周围的s,这是我发现轻松做到这一点的唯一方法(使用javascript手动调整大小是一个选项,但是复杂的一个,因为这些框将被设置为动画).

有任何想法吗?谢谢!

html javascript css tags z-index

2
推荐指数
1
解决办法
7999
查看次数

减少wiimote俯仰/滚动变化

我想使用wiimote来控制没有红外传感器条的光标.我正在使用它的音高和滚动值.问题是,当音高接近0度时,滚动非常不稳定,当音高接近90度时,它本身非常不稳定,但滚动很好.我经常轮询wiimote,所以我平均最后20个音高和滚动值,我可以让光标移动到我想要的位置.唯一的问题是还有很多无法控制的震动.关于如何减少它的任何想法?(或者甚至在没有IR传感器的情况下获得更精确的位置?)

谢谢!

戴夫

c++ wii noise wiimote vibration

1
推荐指数
1
解决办法
2857
查看次数

C++调用静态函数指针

我想将回调转发给函数指针.所以我声明了一个静态(int*)m_pointer1,以及一个方法void RegisterCallback1((int*)fct)

在class1.h:

public:
   int RegisterCallback1( int (*fct) );
private:
   static int (*m_Callback1);
Run Code Online (Sandbox Code Playgroud)

在class1.cpp中:

int class1::RegisterCallback1( int (*fct) )
{
    m_Callback1= fct;
}
Run Code Online (Sandbox Code Playgroud)

那么,我想将回调转发给函数指针:

void class1::Callback1()
{
   (*m_Callback1)();
}
Run Code Online (Sandbox Code Playgroud)

但我得到一个编译器错误"表达必须有(指针) - 函数类型我已经按照教程和阅读有关函数指针,他们似乎这样做没有任何问题.任何想法为什么?

编辑:所以,我声明(int*)(void)m_Callback1 -Visual Studio需要一个空格......-然后如何用参数调用registerCallback函数?

class1.RegisterCallBack1(  ??? - class2::callback -??? );
Run Code Online (Sandbox Code Playgroud)

c++ static pointers function-pointers

1
推荐指数
2
解决办法
3144
查看次数

元帅浮动*到C#

我有一个DLL导出一个返回float*的函数,我想在我的C#代码中使用它.我不知道如何制作我的浮动*以便我可以安全地在C#中使用它.所以,在我的C++ DLL中,我声明了:

static float* GetSamples(int identifier, int dataSize);
Run Code Online (Sandbox Code Playgroud)

在我的C#脚本中,我有:

[DllImport ("__Internal")]
public static extern float[] GetSamples (int identifier, int dataSize);
Run Code Online (Sandbox Code Playgroud)

C++ GetSamples(int,int)分配内存并返回float数组的指针.如何将C#GetSamples声明为Marshal我的float数组,以及如何访问数据(通过迭代或Marshal.Copy)?另外,我可以从C#中删除float*还是必须调用另一个C++函数来删除分配的内存?

编辑:所以这是我现在尝试过的.首先,在C#方面:

宣言:

[DllImport ("__Internal")]
public static extern int GetSamples ([In, Out]IntPtr buffer,int length, [Out] out IntPtr written);
Run Code Online (Sandbox Code Playgroud)

试着打电话给它:

IntPtr dataPointer = new IntPtr();
IntPtr outPtr;
GetSamples(dataPointer, data.Length, out outPtr);
for (var i = 0; i < data.Length; i++){
    copiedData[i] = Marshal.ReadByte(dataPointer, i);
}
Run Code Online (Sandbox Code Playgroud)

然后在我的C++ lib中:

int AudioReader::RetrieveSamples(float * sampleBuffer, size_t dataLength, size_t * /* out */ written)
{ …
Run Code Online (Sandbox Code Playgroud)

c# c++ dll memory-management marshalling

1
推荐指数
1
解决办法
5300
查看次数

zlib inflate返回缓冲区错误

我正在尝试使用zlib解压缩zip文件(不使用任何扩展或第三方).最初,src_len是48756255,dest_len是49209890.在while循环中第一次传递很好:err是Z_OK,第二次传递开始.在第二遍,无论我做什么,我都会从膨胀中获得Z_BUF_ERROR.此时stream.total_out是49034460,所以有一点剩余,但第二遍的stream.avail_in为0.无论如何,我希望膨胀给我Z_STREAM_END.我真的不知道发生了什么,有人可以帮忙吗?

void compression::uncompress2(char* dest, unsigned dest_len, char* src, unsigned src_len) {
    TempAllocator ta;

    z_stream_s stream = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
    stream.next_in = (Bytef*)src;
    stream.avail_in = (uInt)src_len;
    stream.next_out = (Bytef*)dest;
    stream.avail_out = (uInt)dest_len;
    stream.zalloc = zalloc;
    stream.zfree = zfree;
    stream.opaque = &ta;

    // no header
    int err = inflateInit2(&stream, -MAX_WBITS);
    XENSURE(err == Z_OK);

    bool done = false;
    while (!done) {    
        stream.next_out = (Bytef*)(dest + stream.total_out);
        stream.avail_out = dest_len - stream.total_out;

        err …
Run Code Online (Sandbox Code Playgroud)

c++ zip gzip zlib inflate

1
推荐指数
1
解决办法
2200
查看次数

使用javascript阻止表单从重定向/刷新提交

我有一个页面,您可以在一系列texbox(从PHP生成)和2个按钮,GetData和SaveData中输入数据.我希望能够在编辑texbox时按Enter键,它将执行与单击SaveData按钮相同的操作(onclick ="onSave();").我可以通过执行以下操作来实现此目的:

<form id="editForm" name="editForm" action="onSave();">
Run Code Online (Sandbox Code Playgroud)

但当我按回车键时,页面被重定向到页面,没有php帖子(例如:www.mypage.com/index.php,而不是www.mypage.com/index.php?edit_data=true)

我如何实现我想要的目标?

html forms submit

0
推荐指数
1
解决办法
1万
查看次数