char szTemp[32]; strcpy(szTemp, "原字串"); memcpy(szTemp+1, szTemp, 32); szTemp[0]= 0x20;
以上程式主要是把字串存在陣列的位置,往後移動一個Byte,
"原字串"是我假設的,出問題的似乎都是外造字。
VC++6.0這樣使用於Debug中沒問題,
但程式正式使用時,會有BUG出現,
會輸出:
"原字串" -> " 原字串@"使用一個buf來處理,就沒問題。
不明白原因,有請路過的高手請解惑,
總之使用以下code解決。
char szFinal[32], szTemp[32]; memset(szTemp, 0x20, 32); memset(szFinal, 0x20, 32); strcpy(szTemp, "原字串"); memcpy(szFinal+1, szTemp, 32); szFinal[0]= 0x20;輸出:
"原字串" -> " 原字串"
沒有留言:
張貼留言