程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> strcpy-新人求好心好心大神幫幫忙 Visual C遇到char溢出問題

strcpy-新人求好心好心大神幫幫忙 Visual C遇到char溢出問題

編輯:編程解疑
新人求好心好心大神幫幫忙 Visual C遇到char溢出問題

我遇到一個好糾結的問題,一直不知道原因在哪,蛋都碎了:

主工程:
char Msg[1024];
check(Msg);//dll
Addstring(Msg);

DLL:
int check(*msg)
{
cstring buff="";
strcpy(msg,"");
buff.format("xxxxxx%d,%d",int1,int2);
strcat(msg,"buff");
buff.format("xxxxxx%d,%d",int3,int4);
strcat(msg,"buff");
...
buff.format("xxxxxx%d,%d",intx,inty);
strcat(msg,"buff");

return 1
}

代碼如上,問題是:
DLL沒有異常,在運行至主工程Addstring(Msg)時會錯誤;
檢查發現控制Msg大小在512以內時可以正常運行,超出512則會報錯。
但主工程已經定義1024空間了呀?
請問這是為什麼呢??

最佳回答:


代碼不完整 ,你的項目中其他地方 肯定有 比較明顯的BUG

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved