[問題] 實作 strcpy() 發生程式記憶體區段錯誤

看板C_and_CPP (C/C++)作者 (把生活當作挑戰)時間12年前 (2013/07/24 18:31), 編輯推噓1(109)
留言10則, 7人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) gcc 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) no 問題(Question): int main() { char *s = "hello world."; char *t = "Xmax's"; sstrcpy(s, t); printf("%s\n",s); } void sstrcpy(char *s, char *t) { while((*s++ = *t++) != '\0') ; } 這是我在練習寫C遇到的一個問題,sstrcpy是書本上的寫法。 可是用GCC編譯並執行之後,出現如下的訊息: 程式記憶體區段錯誤 如果我把char *s 改成 char s[] 就可以執行成功。 但是我不太了解問題出在那邊,書上有寫 char *s = "string" 是指向 [string] char s[] = "string" 是指向 [] → [string] 但是如果我硬是要用char *s 該如何解決這個問題呢? 希望有大大能幫我說明一下,萬分感謝。 補充說明(Supplement): 不知道這個問題關鍵字要用什麼...小弟沒爬文 抱歉... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.49.245

07/24 18:37, , 1F
置底十戒 4.
07/24 18:37, 1F

07/24 18:39, , 2F
感謝,立刻刪除!!
07/24 18:39, 2F

07/24 18:40, , 3F
無法自刪T_T...該怎麼辦?版主求救嗎?
07/24 18:40, 3F

07/24 19:11, , 4F
為什麼要立刻刪除 放著沒關係啊
07/24 19:11, 4F

07/24 19:50, , 5F
為了後人好,不準刪除。這是你在本板得到的第一個啟示。
07/24 19:50, 5F

07/24 20:33, , 6F
這帖拿來當範例正好,講到懶得講了,直接看範例最快
07/24 20:33, 6F

07/24 23:07, , 7F
想要自刪是怕丟臉嗎
07/24 23:07, 7F

07/25 08:04, , 8F
那本書寫的?
07/25 08:04, 8F

07/25 11:44, , 9F
the programming language 不過測試用的char *是小弟我
07/25 11:44, 9F

07/25 11:44, , 10F
自己寫的…自刪不是怕丟臉XD想說置底有了
07/25 11:44, 10F
文章代碼(AID): #1HxwqDg8 (C_and_CPP)
文章代碼(AID): #1HxwqDg8 (C_and_CPP)