[問題] Segmentation fault (core dumped)
出現問題的code如下
if(argc==3){
if( strcmp(argv[1], "-g") == 0 ){
struct group *data;
char gp[50];
int i=0;
strcpy(gp, argv[2] );
data = getgrnam("gp");
If(data != NULL){
while(data -> gr_mem[i]){
printf("%s\n",data->gr_mem[i++]);
}
}
}
}
compiler沒有問題.但想要執行這段的時候顯示
Segmentation fault (core dumped)
我試過把strcpy這行改成strncpy(gp, argv[2],10 );
但還是一樣
想請問是哪裡出了錯誤?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.6.123
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1432904811.A.C15.html
→
05/29 21:08, , 1F
05/29 21:08, 1F
→
05/29 21:12, , 2F
05/29 21:12, 2F
※ 編輯: proud (49.219.132.106), 05/29/2015 21:14:05
推
05/29 21:17, , 3F
05/29 21:17, 3F
→
05/29 21:18, , 4F
05/29 21:18, 4F
Thanks
※ 編輯: proud (49.219.132.106), 05/29/2015 21:26:49
→
05/30 00:04, , 5F
05/30 00:04, 5F
→
05/30 00:04, , 6F
05/30 00:04, 6F
好的,謝謝建議
推
05/30 01:27, , 7F
05/30 01:27, 7F
→
05/30 01:28, , 8F
05/30 01:28, 8F
只是錯誤點不像是長度啊
→
05/30 05:03, , 9F
05/30 05:03, 9F
→
05/30 09:12, , 10F
05/30 09:12, 10F
推
05/30 10:52, , 11F
05/30 10:52, 11F
→
05/30 10:53, , 12F
05/30 10:53, 12F
對,只是如果直接放入的話會接到後面的迴圈,後來就改下面的code,裡面直接放argv[]
→
05/30 12:08, , 13F
05/30 12:08, 13F
proud: 感謝大家幫忙! 我最後就不strcpy 字串,直接在裡面放入argv []
05/30 13:33
※ 編輯: proud (49.217.16.219), 05/30/2015 13:37:59
推
05/30 22:59, , 14F
05/30 22:59, 14F