[問題] string轉char* 陣列 有點問題

看板C_and_CPP (C/C++)作者 (路邊小人物)時間16年前 (2009/12/24 20:13), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/1
大家好 小弟有段程式碼目的是要讓 string data[12]={ "淡水老街", "淡水拖吊場", "捷運關渡站",..(省略)....."竹圍"}; 目的是要把data[12]裡面的值複製給 char *aaa[12]; 下面是我的方法: for( k=0;k<12;k++) { char istr2[2001]; for(int g=0;g<=2000;g++) { istr2[g]=data[k][g]; } aaa[k]=istr2; } 但是不知道為什麼 最後 aaa[] 裡面裝的東西全部變成一樣的, 都是 data[12] 中的最後一個值"竹圍" 應該是說迴圈進行到下一個k, aaa[k-1] 之前的值都會變成和目前的 aaa[k] 一樣 請不吝指教 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.173.201

12/24 20:15, , 1F
因為你aaa[k]是存istr2指向之處,請用strncpy
12/24 20:15, 1F

12/24 20:15, , 2F
char array的=號不是copy
12/24 20:15, 2F

12/24 22:01, , 3F
感謝 我試試看
12/24 22:01, 3F

12/25 00:54, , 4F
我改成 strcpy(aaa[k],istr2); 編譯可過 但在這行會中斷
12/25 00:54, 4F

12/25 08:59, , 5F
十誡之五
12/25 08:59, 5F

12/25 10:11, , 6F
謝謝V大提醒 修改了
12/25 10:11, 6F
文章代碼(AID): #1BCrhe7h (C_and_CPP)
文章代碼(AID): #1BCrhe7h (C_and_CPP)