[問題] 實作 strcpy() 發生程式記憶體區段錯誤
開發平台(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
07/24 18:37, 1F
→
07/24 18:39, , 2F
07/24 18:39, 2F
→
07/24 18:40, , 3F
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
07/25 11:44, 9F
→
07/25 11:44, , 10F
07/25 11:44, 10F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章