2017-07-02 90 views
1

我有一個變量buf存儲爲char *buf這個變量是一個類似於/3B494538-9120-46E0-95D4-51A4CF5712A1的ID。我想刪除char *buf的第一個元素,以使/3B494538-9120-46E0-95D4-51A4CF5712A1變成3B494538-9120-46E0-95D4-51A4CF5712A1。我該怎麼做呢?刪除Char *陣列中的第一個元素Objective C

回答

4

可以創建一個可重用buf的存儲器陣列:

char *nonCopyBuf = buf + 1; 

或分配新的內存存儲:

char *copyBuf = malloc(strlen(buf)); 
memcpy(copyBuf, buf + 1, strlen(buf)); 
//... 
free(copyBuf); 
+0

(strlen的(BUF)-1)?也許 ?因爲新數組應該少於1個字符 – ColdSteel

+0

@ColdSteel還需要複製一個終止sting並且不包含在'strlen()'結果中的'0'值字節。 – toma

+0

很好,謝謝指出:-) – ColdSteel