一定要注意記憶體的棧情況和緩衝區的設定

2021-04-02 08:49:12 字數 540 閱讀 7814

目前做乙個遊戲方面的東西,需要修資料庫,於是就封裝了乙個類訪問資料庫。但是在呼叫這個物件的特定方法中,這個方法總是出現錯誤。**如下:

char szselect[80];

sprintf(szselect,"select c_xynm,c_jbmc,c_yxzjs,c_zsjs,c_ljjf from t_s_hyml,c_b_jbbz where t_s_hyml.c_jbid=t_b_jbbz.c_jbid and c_hyid='%s'",lpstrmemberid);

if(this->m_pdata->select(szselect,aresult)==0)

if(aresult.getsize()==0)

**總是在if(this->m_pdata->select(szselect,aresult)==0)出錯,然後程式退出。

後來終於明白了十,sprintf語句的錯,這個語句將乙個超過80的字串複製給長度為80的陣列,這樣就會出現記憶體的棧溢位,占領原來m_pdata的資料所在的位置,引起了錯誤。後來將szselect的大小調整為512,就沒有了錯誤。

一定要注意特殊情況!!!POJ1845

0求a b的所有因子的和 a,b 50000000 把a分解 最後就是cnt個等比數列求和再相乘 然而用等比數列求和公式的時候,有可能因子 mod 9901之後得1,等比數列公式就不對了 所以需要特殊判斷,也就是這裡卡了我很久很久。include include include include us...

linq to sql一定要注意的地方!

注意,在使用datacontext物件時,它會產生資料快取,也就是為了提高讀取資料速度,它會將資料庫物件進行快取,或者返回為iqueryable結果集,使資料查詢結果持續到需要得到資料的時間才去真正的select 動作。如果希望datacontext物件每次取資料時,都從資料庫中得到資料,即sele...

店鋪的安全問題一定要注意

對於 商家來說,質量是產品的第一大關。上同款式的東西多不勝數,高低都有,一般 較貴且 的都是非常具有競爭力的。很多商家會去模仿,買家會對產品進行比較。只要你的質量過關,肯定會有回頭客的。內有很多店鋪,新店商家剛開始可能為了較少投入成本開支,會和一些 便宜的快遞公司合作。但這樣的快遞公司在產品運輸,速...