[問題] 有關strcat的問題,困擾好久...
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
string.h
問題(Question):
我要把兩個字串相加,舉例來說,
char *string1 = malloc (1024 * sizeof(char));
char *string2 = malloc (1024 * sizeof(char));
char *result = malloc (1024 * sizeo(char));
string1 = "hello";
string2 = "world";
result = strcat(string1,string2);
但結果會變的很奇怪,
看不到h,但出現很奇怪的圖形(似乎是overflow的情形),
我試著分別印出strlen和sizeof,
第一個字串strlen為5,sizeof為8,
第二個字串strlen為5,sizeof為8,
結果卻變成strlen為12,sizeof為1024,
但如果我改成 result = strcat(string1, "world");
一切都正常,strlen為10,sizeof為8。
想請問各位先進,這到底哪裡出了問題呢??
這個問題困擾了我好久,一直都沒進展,挫折感好大....
sorry,程式底子沒有很扎實。
補充說明(Supplement):
麻煩各位替我解答了,先跟大家說聲謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.129.63
→
04/15 18:13, , 1F
04/15 18:13, 1F
→
04/15 18:14, , 2F
04/15 18:14, 2F
→
04/15 18:14, , 3F
04/15 18:14, 3F
→
04/15 18:14, , 4F
04/15 18:14, 4F
→
04/15 18:23, , 5F
04/15 18:23, 5F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章