[問題] 關於字串指標的問題

看板C_and_CPP (C/C++)作者 (杰克)時間16年前 (2010/04/03 11:30), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) void checkmac(char *str,char *mac,char* power) char ap1[]="00:14:bf:b1:97:8a"; checkmac(str,ap1,ap); 我checkmac第二個參數使用ap1的時候,程式運行時會當掉 但是我把ap1的參數直接改成自串內容: checkmac(str,"00:14:bf:b1:97:8a",ap); 這樣就可以正常運行,請問是甚麼原因呢? 希望得到的正確結果: 使用checkmac(str,ap1,ap)和checkmac(str,"00:14:bf:b1:97:8a",ap); 不衣樣的地方 程式跑出來的錯誤結果: 使用checkmac(str,ap1,ap)程式運行時會當掉 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) dev-c++ 有問題的code: (請善用置底文標色功能) void checkmac(char *str,char *mac,char* power) { int i,j,len,k=0; len=strlen(str); for(i=0;i<len;i++) { j=0; while(str[i]==mac[j]) { i++; j++; } if(j==17) { break; } } if(j==17) { while(k<3) { power[k]=str[i+k+1]; k++; } } else { power[0]='-'; power[1]='9'; power[2]='9'; } } char ap1[]="00:14:bf:b1:97:8a"; checkmac(str,ap1,ap); 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.84.27.29

04/03 11:40, , 1F
問題似乎不在 mac 上...你的 str 是什麼?
04/03 11:40, 1F

04/03 22:03, , 2F
我的str是從txt檔getline進入的字串
04/03 22:03, 2F
文章代碼(AID): #1BjhPSTb (C_and_CPP)
文章代碼(AID): #1BjhPSTb (C_and_CPP)