看板 Programming 關於我們 聯絡資訊
※ 引述《"mynews" <noreplay@gmail.com>, 看板: Programming》之銘言: : #include <stdio.h> : #include <stdlib.h> : #include <string.h> : int main(void){ : char *str1="123"; : char *str4="456"; : char *str3="789"; : strcpy(str3,str4); : exit(0); : } : 這程式編譯會過,但是執行會出現錯誤;string 在使用前需要配置空 : 間,不過我常在很多opensource 看到這類的用法 : char *__progname = "prog"; : 這樣用到底是不是正確的用法?安全的使用字串應該使用陣列? : char str[20]="prog"; : 那 chr *string[50] ; (字串陣列) 這種用法安全嗎? : 另外也有人這樣使用 chr str[]="prog"; : 到底那些用法是安全且正確? 問題不在於配置與否, 而是 你的 strcpy 的目標位置是不 能改變的 (指向 string literal) alien -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82