将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 ++中完成
答案 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';