2017-07-02 73 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

相关问题