0

問題が発生しました。これが私のコードです。

          _bstr_t bstrTrans=L"2";
    wsprintf(buf,L"insert into inven(ID) values(%s)",(wchar_t *)bstrTrans)//insert into database
//this can work fine, now we want to let bstrTrans add 1, likes this
            int bstrTrans2 = atoi(bstrTrans) + 1;
    wsprintf(buf,L"insert into inven(ID) values(%s)",(wchar_t *)bstrTrans2 )
// now ,it cannot work.

誰でも私を助けることができますか?

4

2 に答える 2

1

そして、単純な s -> d ではないのはなぜですか?

    _bstr_t bstrTrans=L"2";
    wsprintf(buf,L"insert into inven(ID) values(%s)",(wchar_t *)bstrTrans) 

//insert into database
//this can work fine, now we want to let bstrTrans add 1, likes this
    int bstrTrans2 = atoi(bstrTrans) + 1;
    wsprintf(buf,L"insert into inven(ID) values(%d)",bstrTrans2 )

編集:うーん、この作品?

    _bstr_t bstrTrans=L"2";
    wsprintf(buf,L"insert into inven(ID) values(%s)",(wchar_t *)bstrTrans) 

//insert into database
//this can work fine, now we want to let bstrTrans add 1, likes this
    char t[30];
    bstrTrans = itoa ( atoi (bstrTrans) + 1 , t,10);
    wsprintf(buf,L"insert into inven(ID) values(%s)",(wchar_t *)bstrTrans) 
于 2013-03-01T09:17:59.360 に答える
1

テストされていませんが、正常に動作するはずです:

const _wchar_t pBuffer[16] = {0};
wsprintf(pBuffer, L"%u", bstrTrans2)
_bstr_t bstrTrans3(pBuffer);
wsprintf(buf,L"insert into inven(ID) values(%s)",(wchar_t *)bstrTrans3 );
于 2013-03-01T09:06:03.003 に答える