将char数组复制到另一个char数组

时间:2014-06-17 10:32:50

标签: c char

将char数组 - 可能包含多个空字符 - 复制到另一个char数组的最佳解决方案是什么?
例如:

char src[11] = "ab\0cde\0\0fg"
char des[2][6];  

最后

   des[0] should be ---> ab\0cd    +  \0 
   des[1] should be ---> e\0\0fg   +  \0

注意:它应该只在C而不是C ++中完成

1 个答案:

答案 0 :(得分:4)

您正在寻找memcpy

memcpy(des[0] // target void *
     , src    // source void *
     , 5      // number of bytes to copy
     );
des[0][5] = '\0';

memcpy(des[1]  // target void *
     , src + 5 // source void *
     , 5       // number of bytes to copy
     );
des[1][5] = '\0';